#include #include #include "../c++/unit.hpp" #include "../c++/unit_print.hpp" namespace { namespace sch { using namespace saw::schema; struct FantasyMeterEle {}; using FantasyMeter = Unit< Int64, UnitElement >; using FantasySquareMeter = Unit< Int64, UnitElement >; } SAW_TEST("Codec Unit/Addition"){ using namespace saw; data a{{5}}, b{{4}}; auto c = a + b; SAW_EXPECT(c == data{9u}, "Expected result 9"); } SAW_TEST("Codec Unit/Subtraction"){ using namespace saw; data a{{5}}, b{{4}}; auto c = a - b; SAW_EXPECT(c == data{1u}, "Expected result 1"); } SAW_TEST("Codec Unit/Multiplication"){ using namespace saw; data a{{5}}, b{{4}}; auto c = a * b; SAW_EXPECT(c == data{20u}, "Expected result 20"); } SAW_TEST("Codec Unit/Division"){ using namespace saw; data a{{20}}, b{{4}}; auto c = a / b; SAW_EXPECT(c == data>{5u}, "Expected result 5"); } SAW_TEST("Codec Unit/Print"){ using namespace saw; // TODO } }