/
spivag
/
command_occ
Обзор
Документация
Войти
/
spivag
/
command_occ
Код
Запросы
1
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
initial
tests/gtest_write_read.cpp
95 строк
2 KB
Spivakov
Initial
10 апр 2026, 13:45
10 апр 2026, 13:45
b2ad868
Код
Авторство
О чём код?
/// @file gtest_write_read.cpp /// @brief Serialize-deserialize tests /// @project gtests /// /// (c) Alexander Spivakov on 02.09.2025. /// #include <gtest/gtest.h> #include <part_structure.h> #include <nlohmann-json/document_serialize.h> #include <nlohmann-json/document_deserialize.h> #include <demo_brep_elementary.hxx> #include <demo_brep_boolean.hxx> #include <sstream> TEST( WriteRead, BlockBrep_CreatePointsDiagonal ) { Document docOut; auto shape = demo::BlockBrep::CreatePointsDiagonal(); auto part = docOut.AddPart( "demo::BlockBrep::CreatePointsDiagonal" ).lock(); ASSERT_NE( nullptr, part ); part->AddShape( shape ); docOut.SetRootPart( part ); std::stringstream buffer; Store( docOut, buffer ); Document docIn; ASSERT_NO_THROW( docIn = Restore( buffer ) ); } TEST( WriteRead, BlockBrep_CreateMiddleVolume ) { Document docOut; auto shape = demo::BlockBrep::CreateMiddleVolume(); auto part = docOut.AddPart( "demo::BlockBrep::CreateMiddleVolume" ).lock(); ASSERT_NE( nullptr, part ); part->AddShape( shape ); docOut.SetRootPart( part ); std::stringstream buffer; Store( docOut, buffer ); Document docIn; ASSERT_NO_THROW( docIn = Restore( buffer ) ); } TEST( WriteRead, Cyliner_CreateOverXYPlane ) { Document docOut; auto shape = demo::CylinderBrep::CreateOverXYPlane(); auto part = docOut.AddPart( "demo::CylinderBrep::CreateOverXYPlane" ).lock(); ASSERT_NE( nullptr, part ); part->AddShape( shape ); docOut.SetRootPart( part ); std::stringstream buffer; Store( docOut, buffer ); Document docIn; ASSERT_NO_THROW( docIn = Restore( buffer ) ); } TEST( WriteRead, ConeAngleBrep ) { Document docOut; auto shape = demo::ConeBrep::CreateByAngle(); auto part = docOut.AddPart( "demo::ConeBrep::CreateByAngle" ).lock(); ASSERT_NE( nullptr, part ); part->AddShape( shape ); docOut.SetRootPart( part ); std::stringstream buffer; Store( docOut, buffer ); Document docIn; ASSERT_NO_THROW( docIn = Restore( buffer ) ); } TEST( WriteRead, BooleanUnion ) { Document docOut; auto shape = demo::Boolean::CreateUnion(); auto part = docOut.AddPart( "demo::Boolean::CreateUnion" ).lock(); ASSERT_NE( nullptr, part ); part->AddShape( shape ); docOut.SetRootPart( part ); std::stringstream buffer; Store( docOut, buffer ); Document docIn; ASSERT_NO_THROW( docIn = Restore( buffer ) ); }