Skip to content

sseezov/test-attestation

Repository files navigation

Требования

  • Нельзя менять уже написанный код, тесты и другие файлы добавленные в проект
  • Помимо стандартной библиотеки, вы можете использовать все что импортировано. Что не импортировано, то не используется.
  • Выполняйте коммиты и пуши как можно чаще. Так вы будете видеть какие из тестов сработают, а какие нет.
  • Во время работы не забывайте запускать саму утилиту и npm test

Задание

Ваша задача написать консольную утилиту, которая анализирует переданный файл с информацией о погоде и выводит на экран некоторую статистику по данным из файла. Файлы хранятся в директории fixtures в формате CSV. Они используются для тестов и понадобятся вам, для запуска и проверки утилиты в терминале.

Пример запуска утилиты:

bin/weather.js __fixtures__/weather1.csv
Count: 20
Cities: Chicago, Denver, Los Angeles, Miami, Seattle
Humidity: Min: 58, Max: 80
HottestDay: 2023-04-18 Los Angeles
HottestCity: Miami

Вывод содержит фиксированный набор строк (Count, Cities, ...), каждая из которых соответствует какой-то агрегированной информации по данным из файла. Например первая строка содержит количество записей в переданном файле. Значения в этих строках зависят от данных внутри переданного файла. В примере выше число 20, в вашем случае может быть другое, зависит от того, с каким файлом ведется работа.

Каждая строчка в выводе утилиты, представляет из себя небольшое отдельное вычислительное задание. Вам предстоит решать эти задачи по очереди. Ниже список этих заданий:

1 шаг

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

bin/weather.js __fixtures__/weather1.csv
Count: 20

2 шаг

Выведите список городов, для которых есть информация о погоде в переданном файле. Города в этом списке отсортированы в алфавитном порядке.

bin/weather.js __fixtures__/weather1.csv
Count: 20 # Не забывайте что предыдущее решение остается работать
Cities: Chicago, Denver, Los Angeles, Miami, Seattle

3 шаг

Выведите минимальную и максимальную влажность, которая встречается в данных переданного файла.

bin/weather.js __fixtures__/weather1.csv
Count: 20
Cities: Chicago, Denver, Los Angeles, Miami, Seattle
Humidity: Min: 58, Max: 80

4 шаг

Выведите дату самой жаркой погоды и город, в котором была зафиксирована эта температура

bin/weather.js __fixtures__/weather1.csv
Count: 20
Cities: Chicago, Denver, Los Angeles, Miami, Seattle
Humidity: Min: 58, Max: 80
HottestDay: 2023-04-18 Los Angeles

5 шаг

Выведите самый жаркий город, основываясь на средней температуре в городе за дни указанные в файле. Средняя температура считается относительно значения Max Temperature.

С технической точки зрения, вам нужно посчитать среднюю температуру по каждому городу за указанную дату. Затем нужно определить в каком городе эта температура выше.

bin/weather.js __fixtures__/weather1.csv
Count: 20
Cities: Chicago, Denver, Los Angeles, Miami, Seattle
Humidity: Min: 58, Max: 80
HottestDay: 2023-04-18 Los Angeles
HottestCity: Miami

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published