Opened 3 years ago

Last modified 3 years ago

#694 assigned ожидаются исправления

HW #2 (Huffman) kuznec

Reported by: Anton Owned by: Антон Филатов
Component: HW #3 (Huffman) Version: 2.0
Keywords: Cc:

Description


Change History (3)

comment:1 Changed 3 years ago by Антон Филатов

Type: ожидается проверкаожидаются исправления

Тесты пройдены с первой попытки. Грац
По стилю всё ок, разве что, возможно, стоит использовать умные указатели вместо сырых.
Покрытие тестами маловато

Корректность: 15/15
Стиль: 10/10
Тесты: 2/5

comment:2 Changed 3 years ago by Anton

Type: ожидаются исправленияожидается проверка
Version: 1.02.0

comment:3 Changed 3 years ago by Антон Филатов

Type: ожидается проверкаожидаются исправления

То, что вы сделали - не совсем юнит тесты. У вас большое покрытие смоуг тестами, где выши классы понимаются, как чёрные ящики.
Юнит тесты - это тестирование каждой функции каждого класса (можно даже в состояниях, в которых класс не реальности никогда находиться не будет)

В вашем случае, например, класс node протестирован не до конца: нет ни одного теста для функции set_child

Для класса codes_builder нет тестов функции build, я уж не говорю про приватные функции.
То есть ещё раз: те тесты, которые вы сделали, они тоже хорошие - хорошо иметь много разных данных на вход и проверять, что глобально ваша программа не падает.
Но когда мы говорим о юнит тестах - у них немного другая цель. Их цель быстро показать, что именно стало падать в классе, когда в него внесли какие-то изменения и дополнения. И не просто понять, что "теперь не работает вычисление частоты вхождения символа" (что, конечно, тоже важно и не является лишним), но также, что "теперь функция calc_extra_bits на файле чётной длины, когда все символы одинаковые, выводит всегда -1".

Кстати говоря, поэтому ваше именование файлов не очень удачное. Если упал TEST_CASE_CLASS("test_calc_extra_bits") на файле "test1.bmp" - это что значит? сможете ли вы быстро определить проблему?

Стиль:

  • копипаста классов хафмана в тесты. почему не include?

Корректность: 15/15
Стиль: 9/10
Тесты: 4/5

Last edited 3 years ago by Антон Филатов (previous) (diff)
Note: See TracTickets for help on using tickets.