|
@@ -12,6 +12,7 @@
|
|
|
#include <ls-std/ls-std-io.hpp>
|
|
|
|
|
|
using namespace ls::std::core;
|
|
|
+using namespace ls::std::core::type;
|
|
|
using namespace ls::std::io;
|
|
|
using namespace ::std;
|
|
|
|
|
@@ -80,6 +81,32 @@ namespace
|
|
|
ASSERT_EQ(ls::std::io::SECTION_PAIR_ROW_SINGLE_VALUE, value.getType());
|
|
|
}
|
|
|
|
|
|
+ TEST_F(SectionPairRowSingleValueTest, marshal)
|
|
|
+ {
|
|
|
+ shared_ptr<SectionPairRowSingleValue> value = make_shared<SectionPairRowSingleValue>("empty");
|
|
|
+ value->setSerializable(make_shared<SerializableSectionPairRowSingleValue>(value));
|
|
|
+
|
|
|
+ ASSERT_STREQ("empty", value->marshal().c_str());
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(SectionPairRowSingleValueTest, marshal_no_serializable)
|
|
|
+ {
|
|
|
+ SectionPairRowSingleValue value{"blue"};
|
|
|
+
|
|
|
+ EXPECT_THROW(
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ byte_field data = value.marshal();
|
|
|
+ }
|
|
|
+ catch (const NullPointerException &_exception)
|
|
|
+ {
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ NullPointerException);
|
|
|
+ }
|
|
|
+
|
|
|
TEST_F(SectionPairRowSingleValueTest, set_empty_value)
|
|
|
{
|
|
|
SectionPairRowSingleValue value{"empty"};
|
|
@@ -115,4 +142,49 @@ namespace
|
|
|
},
|
|
|
IllegalArgumentException);
|
|
|
}
|
|
|
+
|
|
|
+ TEST_F(SectionPairRowSingleValueTest, setSerializable_no_reference)
|
|
|
+ {
|
|
|
+ SectionPairRowSingleValue value{"empty"};
|
|
|
+
|
|
|
+ EXPECT_THROW(
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ value.setSerializable(nullptr);
|
|
|
+ }
|
|
|
+ catch (const IllegalArgumentException &_exception)
|
|
|
+ {
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ IllegalArgumentException);
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(SectionPairRowSingleValueTest, unmarshal)
|
|
|
+ {
|
|
|
+ shared_ptr<SectionPairRowSingleValue> value = make_shared<SectionPairRowSingleValue>("empty");
|
|
|
+ value->setSerializable(make_shared<SerializableSectionPairRowSingleValue>(value));
|
|
|
+ value->unmarshal("blue");
|
|
|
+
|
|
|
+ ASSERT_STREQ("blue", value->get().c_str());
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(SectionPairRowSingleValueTest, unmarshal_no_serializable)
|
|
|
+ {
|
|
|
+ SectionPairRowSingleValue value{"blue"};
|
|
|
+
|
|
|
+ EXPECT_THROW(
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ value.unmarshal("red");
|
|
|
+ }
|
|
|
+ catch (const NullPointerException &_exception)
|
|
|
+ {
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ NullPointerException);
|
|
|
+ }
|
|
|
}
|