|
@@ -3,7 +3,7 @@
|
|
* Company: Lynar Studios
|
|
* Company: Lynar Studios
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
* E-Mail: webmaster@lynarstudios.com
|
|
* Created: 2020-11-26
|
|
* Created: 2020-11-26
|
|
- * Changed: 2021-05-02
|
|
|
|
|
|
+ * Changed: 2021-05-24
|
|
*
|
|
*
|
|
* */
|
|
* */
|
|
|
|
|
|
@@ -24,18 +24,25 @@ namespace
|
|
|
|
|
|
void TearDown() override
|
|
void TearDown() override
|
|
{}
|
|
{}
|
|
|
|
+
|
|
|
|
+ static ls_std::Event createSerializableTestEvent()
|
|
|
|
+ {
|
|
|
|
+ ls_std::Event event{"OPEN_DOOR_EVENT"};
|
|
|
|
+ event.addParameter(ls_std::event_parameter{"key_available", "true"});
|
|
|
|
+ event.addParameter(ls_std::event_parameter{"door_id", "16675"});
|
|
|
|
+
|
|
|
|
+ std::shared_ptr<ls_std::SerializableJsonEvent> serializable = std::make_shared<ls_std::SerializableJsonEvent>(std::make_shared<ls_std::Event>(event));
|
|
|
|
+ event.setSerializable(serializable);
|
|
|
|
+
|
|
|
|
+ return event;
|
|
|
|
+ }
|
|
};
|
|
};
|
|
|
|
|
|
// implementation
|
|
// implementation
|
|
|
|
|
|
TEST_F(EventTest, marshal)
|
|
TEST_F(EventTest, marshal)
|
|
{
|
|
{
|
|
- ls_std::Event event{"OPEN_DOOR_EVENT"};
|
|
|
|
- event.addParameter(ls_std::event_parameter{"key_available", "true"});
|
|
|
|
- event.addParameter(ls_std::event_parameter{"door_id", "16675"});
|
|
|
|
-
|
|
|
|
- std::shared_ptr<ls_std::SerializableJsonEvent> serializable = std::make_shared<ls_std::SerializableJsonEvent>(std::make_shared<ls_std::Event>(event));
|
|
|
|
- event.setSerializable(serializable);
|
|
|
|
|
|
+ ls_std::Event event = createSerializableTestEvent();
|
|
|
|
|
|
ls_std::byte_field data = event.marshal();
|
|
ls_std::byte_field data = event.marshal();
|
|
ASSERT_FALSE(data.empty());
|
|
ASSERT_FALSE(data.empty());
|
|
@@ -64,23 +71,40 @@ namespace
|
|
|
|
|
|
TEST_F(EventTest, getClassName)
|
|
TEST_F(EventTest, getClassName)
|
|
{
|
|
{
|
|
- ls_std::Event event{"OPEN_DOOR_EVENT"};
|
|
|
|
|
|
+ ls_std::Event event{"TMP_ID"};
|
|
ASSERT_STREQ("Event", event.getClassName().c_str());
|
|
ASSERT_STREQ("Event", event.getClassName().c_str());
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ TEST_F(EventTest, constructor_empty_parameter)
|
|
|
|
+ {
|
|
|
|
+ EXPECT_THROW({
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ ls_std::Event event{""};
|
|
|
|
+ }
|
|
|
|
+ catch (const ls_std::IllegalArgumentException &_exception)
|
|
|
|
+ {
|
|
|
|
+ throw;
|
|
|
|
+ }
|
|
|
|
+ }, ls_std::IllegalArgumentException);
|
|
|
|
+ }
|
|
|
|
+
|
|
TEST_F(EventTest, addParameter)
|
|
TEST_F(EventTest, addParameter)
|
|
{
|
|
{
|
|
- ls_std::Event event{"OPEN_DOOR_EVENT"};
|
|
|
|
|
|
+ ls_std::Event event{"TMP_ID"};
|
|
ASSERT_TRUE(event.getParameterList().empty());
|
|
ASSERT_TRUE(event.getParameterList().empty());
|
|
|
|
|
|
- event.addParameter(ls_std::event_parameter("key", "yes"));
|
|
|
|
- event.addParameter(ls_std::event_parameter("facing_door", "yes"));
|
|
|
|
|
|
+ ASSERT_TRUE(event.addParameter(ls_std::event_parameter("key", "yes")));
|
|
|
|
+ ASSERT_TRUE(event.addParameter(ls_std::event_parameter("facing_door", "yes")));
|
|
|
|
+ }
|
|
|
|
|
|
- ls_std::event_parameter_list parameterList = event.getParameterList();
|
|
|
|
- ASSERT_FALSE(parameterList.empty());
|
|
|
|
- ASSERT_EQ(2, parameterList.size());
|
|
|
|
- ASSERT_STREQ("yes", parameterList.at("key").c_str());
|
|
|
|
- ASSERT_STREQ("yes", parameterList.at("facing_door").c_str());
|
|
|
|
|
|
+ TEST_F(EventTest, addParameter_element_already_exists)
|
|
|
|
+ {
|
|
|
|
+ ls_std::Event event{"TMP_ID"};
|
|
|
|
+ ASSERT_TRUE(event.getParameterList().empty());
|
|
|
|
+
|
|
|
|
+ ASSERT_TRUE(event.addParameter(ls_std::event_parameter("key", "yes")));
|
|
|
|
+ ASSERT_FALSE(event.addParameter(ls_std::event_parameter("key", "yes")));
|
|
}
|
|
}
|
|
|
|
|
|
TEST_F(EventTest, clearParameterList)
|
|
TEST_F(EventTest, clearParameterList)
|
|
@@ -115,13 +139,16 @@ namespace
|
|
event.addParameter(ls_std::event_parameter("key", "yes"));
|
|
event.addParameter(ls_std::event_parameter("key", "yes"));
|
|
event.addParameter(ls_std::event_parameter("facing_door", "yes"));
|
|
event.addParameter(ls_std::event_parameter("facing_door", "yes"));
|
|
|
|
|
|
- ASSERT_FALSE(event.getParameterList().empty());
|
|
|
|
- ASSERT_EQ(2, event.getParameterList().size());
|
|
|
|
- event.removeParameter("key");
|
|
|
|
- ASSERT_EQ(1, event.getParameterList().size());
|
|
|
|
- event.removeParameter("facing_door");
|
|
|
|
- ASSERT_EQ(0, event.getParameterList().size());
|
|
|
|
- ASSERT_TRUE(event.getParameterList().empty());
|
|
|
|
|
|
+ ASSERT_TRUE(event.removeParameter("key"));
|
|
|
|
+ ASSERT_TRUE(event.removeParameter("facing_door"));
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ TEST_F(EventTest, removeParameter_elenent_does_not_exist)
|
|
|
|
+ {
|
|
|
|
+ ls_std::Event event{"OPEN_DOOR_EVENT"};
|
|
|
|
+
|
|
|
|
+ ASSERT_FALSE(event.removeParameter("key"));
|
|
|
|
+ ASSERT_FALSE(event.removeParameter("facing_door"));
|
|
}
|
|
}
|
|
|
|
|
|
TEST_F(EventTest, setId)
|
|
TEST_F(EventTest, setId)
|
|
@@ -132,4 +159,34 @@ namespace
|
|
event.setId("ANOTHER_EVENT");
|
|
event.setId("ANOTHER_EVENT");
|
|
ASSERT_STREQ("ANOTHER_EVENT", event.getId().c_str());
|
|
ASSERT_STREQ("ANOTHER_EVENT", event.getId().c_str());
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+ TEST_F(EventTest, setId_empty_parameter)
|
|
|
|
+ {
|
|
|
|
+ EXPECT_THROW({
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ ls_std::Event event{"TMP_ID"};
|
|
|
|
+ event.setId("");
|
|
|
|
+ }
|
|
|
|
+ catch (const ls_std::IllegalArgumentException &_exception)
|
|
|
|
+ {
|
|
|
|
+ throw;
|
|
|
|
+ }
|
|
|
|
+ }, ls_std::IllegalArgumentException);
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ TEST_F(EventTest, setSerializable_no_reference)
|
|
|
|
+ {
|
|
|
|
+ EXPECT_THROW({
|
|
|
|
+ try
|
|
|
|
+ {
|
|
|
|
+ ls_std::Event event{"TMP_ID"};
|
|
|
|
+ event.setSerializable(nullptr);
|
|
|
|
+ }
|
|
|
|
+ catch (const ls_std::IllegalArgumentException &_exception)
|
|
|
|
+ {
|
|
|
|
+ throw;
|
|
|
|
+ }
|
|
|
|
+ }, ls_std::IllegalArgumentException);
|
|
|
|
+ }
|
|
}
|
|
}
|