Основной файл - IReadOnlySortedMapTimeCurve/DepthToTimeIndexConverter.cs
Разработка класса для пересчета данных из глубины во время
Разработать и реализовать в виде класса на языке C# алгоритм перевода данных, индексированных по глубине в индексированные по времени. Входные данные:
- IReadOnlySortedMap<double, byte[]> - кривая «Местное время» (индекс – глубина(double), значение – время в ticks (см. структуру DateTime), разбитое на массив байтов)
- IReadOnlySortedMap<double, double> -- кривая для обработки, индексированная по глубине Выходные данные:
- IReadOnlySortedMap<double, double> - кривая – результат работы алгоритма. Алгоритмы и подходы: Использовать алгоритм BinarySearch для поиска нужного индекса, использовать линейную интерполяцию данных. Время рассчитывать от начала суток или от начала времени в кривой «Местное время» по выбору пользователя класса.
Примечания:
- Для создания результата использовать класс PieList<TKey, TValue>
- Написать модульные тесты с использованием NUnit
- При написании модульных тестов можно использовать Moq
- При написании модульных тестов использовать подход ааа: Arrange-Act-Assert
- Оценить покрытие кода тестами