Skip to content

AlexanderDemidovichV/EPAM.NET.D1_D2.Mentoring.01

Repository files navigation

EPAM.NET.D1_D2.Mentoring.01

Задание к модулю Collections and generics

Задание 1

Реализуйте пример хранения и поиска большого количества строк двумя способами:

  1. максимальная скорость поиска и извлечения искомой строки
  2. максимальная скорость сохранения данных в коллекции

Обоснуйте свой выбор.

Задание 2

Реализуйте обобщенную коллекцию с функциональностью сравнения ее элементов на равенство с переданными объектом. Объект может являться любым типом данных. Обоснуйте свой выбор.

Задание 3

Реализуйте свою коллекцию с итератором. Коллекция работает только с целыми числами. При итерации проход по элементам должен заканчиваться, если встречается отрицательное число.

Задания к модулю Methods

Задание 1.

Создайте класс FileSystemVisitor, который позволяет обходить дерево папок в файловой системе, начиная с указанной точки. Указанный класс должен:

• Возвращать все найденные файлы и папки в виде линейной последовательности, для чего реализовать свой итератор (по возможности используя оператор yield)

• Давать возможность задать алгоритм фильтрации найденных файлов и папок в момент создания экземпляра FileSystemVisitor (через специальный перегруженный конструктор). Алгоритм должен задаваться в виде делегата/лямбды

• Генерировать уведомления (через механизм событий) о этапах своей работы. В частности, должны быть реализованы следующие события

o Start и Finish (для начала и конца поиска) o FileFinded/DirectoryFinded для всех найденных файлов и папок до фильтрации, и FilteredFileFinded/filteredDirectoryFinded для файлов и папок прошедших фильтрацию. Данные события должны позволять (через установку специальных флагов в переданных параметрах):

прервать поиск

исключить файлы/папки из конечного списка

Задание 2.

Напишите библиотеку тестов, демонстрирующих различные режимы работы FileSystemVisitor. Необходимость использования моков (mock) согласуйте с ментором.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages