/
farado
/
farado-binara
Обзор
Документация
Войти
/
farado
/
farado-binara
Код
Запросы
0
Пакеты
0
Релизы
0
CI/CD
Аналитика
develop
tests/elements/test_element_rule_project.cpp
37 строк
1 KB
Ostapenko Alexey
[tests] Добавлены тест сериализации json/объект для сущности RuleProject.
22 дек 2023, 18:00
22 дек 2023, 18:00
bfdcf90
Код
Авторство
О чём код?
#define BOOST_TEST_MODULE testElementRuleProject #include <boost/test/unit_test.hpp> #include "common/elements/element_maker.h" #include "common/elements/rule_project.h" BOOST_AUTO_TEST_CASE(testRuleProjectJson) { auto first = std::make_shared<Elements::RuleProject>(); first->setId(1); first->setRuleId(2); first->setProjectId(3); { Elements::Permissions permissions; permissions.setFlag(Elements::Permission::Read); permissions.setFlag(Elements::Permission::Write); first->setPermissions(permissions); } const auto json = first->toJsonString(); const Elements::ElementPtr second(Elements::fromJsonString(json)); BOOST_CHECK(first->isSame(second.get())); const auto third = std::static_pointer_cast<Elements::RuleProject>(second); BOOST_CHECK(1 == third->id()); BOOST_CHECK(2 == third->ruleId()); BOOST_CHECK(3 == third->projectId()); { const auto permissions = third->permissions(); BOOST_CHECK(false == permissions.testFlag(Elements::Permission::None)); BOOST_CHECK(true == permissions.testFlag(Elements::Permission::Read)); BOOST_CHECK(true == permissions.testFlag(Elements::Permission::Write)); } }