michaellukashov / Far-NetBox

SFTP/SCP/FTP/FTPS/WebDAV/S3 client for Far Manager 3 (http://farmanager.com/)
https://forum.farmanager.com/viewtopic.php?t=6317
GNU General Public License v2.0
156 stars 52 forks source link

Фикс интерфейса функции Find #345

Closed ssvine closed 5 months ago

ssvine commented 5 months ago

Недавний коммит привёл к тому, что 2 теста стали фейлиться. Это произошло из-за разных ожиданий от того, что делает функция Find.

В пулл реквесте сделано исправление этой ситуации. Функция теперь работает так:

  1. В функцию Find добавлен параметр bool leftmost = true, теперь она может искать и самый левый, и самый правый элемент в отсортированном списке (это актуально для dupAccept - когда в списке могут присутствовать несколько одинаковых элементов). Параметр по умолчанию позволяет не делать изменения в старых местах вызова этой функции.
  2. В случае когда список неотсортированный, результат поиска отсутствующего элемента приводит к записи значения nb::NPOS в аргумент Index (как раз один из тестов на это рассчитывает).
  3. В случае отсортированного списка, поиск отсутствующего элемента приводит к записи в аргумент Index позиции, в которую нужно вставить элемент, чтобы список сохранял свойство отсортированности.
michaellukashov commented 5 months ago

Спасибо!