Opened 3 years ago
Closed 3 years ago
#712 closed ожидаются исправления (задача сдана)
HW_02
Reported by: | morozov.nikita | Owned by: | Святослав Власов |
---|---|---|---|
Component: | HW #3 (Huffman) | Version: | 2.0 |
Keywords: | Cc: |
Description
std::map для codes и freqs оставлено осознанно, ведь я хочу использовать еще и русские символы, коды которых отрицательны.
Change History (4)
comment:1 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
comment:2 Changed 3 years ago by
Type: | ожидаются исправления → ожидается проверка |
---|---|
Version: | 1.0 → 2.0 |
comment:3 Changed 3 years ago by
Type: | ожидается проверка → ожидаются исправления |
---|
Наши тесты прошли, к корректности претензий нет.
Твои тесты мне не совсем нравятся, хочется увидеть приватные функции тоже протестированными, и тестирования граничных случаев.
Вот такого писать не надо:
CHECK(test_tree().get_top()->r->freq == 67)
Если по какой-то причине дерево будет построено криво и ->r
окажется nullptr
, у тебя тест просто крашнется и будет совершенно непонятно что там произошло и почему тест упал.
15/4/10
comment:4 Changed 3 years ago by
Resolution: | → задача сдана |
---|---|
Status: | assigned → closed |
Note: See
TracTickets for help on using
tickets.
Используй
uint8_t
и будет тебе счастье без отрицательных кодов.Мейкфайл у тебя криво написан:
А
make test
вообще цель test не находит.Тест сжимающий файл с байтами от
0x00
до0xff
и распаковывающий его, жалуется что исходный файл и распакованный не совпадают :(Компрессия и декомпрессия файла состоящего из одного нулевого байта рухнула с сегфолтом. Некоторые другие тесты тоже.
Если использовать
std::unique_ptr
, то необходимость вdeleteNodes
пропадет.Использовать строку для хранения битового кода -- так себе идея, а еще хочется избавиться от копирования аргумента в каждом рекурсивном вызове
Давай без magic numbers. Есть константа
CHAR_BITS
в<climits>
Нет нужды явно вызывать
close
у файлов, они сами закроются в деструкторах.Тестов нет.
7/0/5