kuvshinovdr / OGxx

Object-oriented graph algorithm library in C++ developed for educational purposes.
MIT License
1 stars 1 forks source link

adjacency_list_io_print #48

Open kuvshinovdr opened 1 year ago

kuvshinovdr commented 1 year ago
  1. Обновите ветку. В include/ogxx должен появиться файл adjacency_list_io.hpp.
  2. В source создайте файл adjacency_list_io_print.cpp.
  3. В нём разместите реализацию функций ogxx::io::print из ogxx/adjacency_list_io.hpp.
  4. В tests создайте файл adjacency_list_io_print.cpp (это уже другой файл).
  5. В нём напишите тесты функции print, принимающих произвольный ostream. Тест должен использовать библиотеку doctest. В качестве примера можете использовать уже имеющиеся в tests файлы. Для теста понадобится создавать объекты Adjacency_list. Пока готовых реализаций нет, поэтому собственно тесты надо будет написать позднее.
kuvshinovdr commented 11 months ago

Ваша функция print не принимает и не применяет формат. См. структуру include/ogxx/adjacency_list_io.hpp/ogxx::io::Adjacency_list_format.

Nikolai-Fedorov-PM-201 commented 11 months ago

переделал

kuvshinovdr commented 11 months ago

Да, это уже близко. Здесь

ostr << neighbour_index <<  format.adjacency_sep;

разделитель надо вставлять только между элементами. После последнего не надо его. Хотелось бы увидеть ещё тест. Хотя бы начать его (файл для теста есть, но кода в нём ещё нет).

kuvshinovdr commented 11 months ago

Ветка обновлена.

Nikolai-Fedorov-PM-201 commented 11 months ago

переделал

kuvshinovdr commented 11 months ago

В принципе, я думаю, что print реализован корректно. Тест -- нет, но мы его не сможем собрать, пока нет готовых реализаций Adjacency_list. По поводу задачи 3 я подумаю.