/* * Author: Patrick-Christopher Mattulat * Company: Lynar Studios * E-Mail: webmaster@lynarstudios.com * Created: 2020-09-04 * Changed: 2020-11-26 * * */ #include #include namespace { class SerializableJSONBooleanTest : public ::testing::Test { protected: SerializableJSONBooleanTest() = default; ~SerializableJSONBooleanTest() override = default; void SetUp() override {} void TearDown() override {} }; TEST_F(SerializableJSONBooleanTest, marshal) { ls_std::Boolean x {true}; ls_std::SerializableJSONBoolean serializable {std::make_shared(x)}; ls_std::String jsonString {serializable.marshal()}; ASSERT_TRUE(jsonString.contains(R"({"value":true)")); } TEST_F(SerializableJSONBooleanTest, unmarshal) { std::shared_ptr x = std::make_shared(false); ASSERT_FALSE( *x); ls_std::SerializableJSONBoolean serializable {x}; serializable.unmarshal(R"({"value":true})"); ASSERT_TRUE(*x); } TEST_F(SerializableJSONBooleanTest, getValue) { std::shared_ptr x = std::make_shared(false); ls_std::SerializableJSONBoolean serializable {x}; ASSERT_TRUE(serializable.getValue() == x); } TEST_F(SerializableJSONBooleanTest, setValue) { std::shared_ptr x = std::make_shared(false); ls_std::SerializableJSONBoolean serializable {x}; ASSERT_TRUE(serializable.getValue() == x); x = std::make_shared(true); serializable.setValue(x); ASSERT_TRUE(serializable.getValue() == x); } }