WordsStatistics
— класс с двумя операциями:
void AddWord(w)
IEnumerable<Tuple<int, string>> GetStatistics()
GetStatistics
должен возвращать частотный словарь добавленных ранее слов:
- Слова сравниваются без учета регистра символов. То есть HELLO и hello считаются одним и тем же словом.
- Вернуть нужно слова в нижнем регистре.
- Вернуть нужно список отсортированный по убыванию частоты, а при одинаковой частоте — в лексикографическом порядке слов.
Склонируйте репозиторий.
Создайте в отдельном классе своего наследника AbstractWordsStatistics
, допустив в нем какую-нибудь ошибку, при этом:
- Имеющиеся тесты не должны выявлять эту ошибку.
- Ошибка должна быть более менее правдоподобна. Не нужно встраивать закладки, подобные
if (word = "hack") throw new Exception();
. Вы должны уметь объяснять ход мыслей гипотетического человека, который ненамеренно допустил эту ошибку. - Ваш класс должен называться по фамилиям участников пары.
Сделайте commit и push
Сделайте pull. У вас должны появиться решения всех остальных участников.
Сделайте ветку по фамилиям участников пары.
Дополните комплект тестов так, чтобы:
WordsStatistics
проходил все тесты;- Все остальные реализации падали хотя бы на одном тесте.
- Все тесты имели внятное название, вскрывающее какое-либо требование к реализации. Некоторые требования явно прописаны в спецификации, некоторые подразумеваются неявно. Имена тестов, должны сделать все требования явными.
Сделайте commit и push.
Можете изучить ветки других пар. Оставьте несколько комментариев по делу к чужому коду. Напишите, что получилось особенно оригинально и удачно, а что можно было улучшить.