|
@@ -8,9 +8,13 @@
|
|
|
* */
|
|
|
|
|
|
#include <gtest/gtest.h>
|
|
|
+#include <ls-std/ls-std-core.hpp>
|
|
|
#include <ls-std/ls-std-event.hpp>
|
|
|
|
|
|
+using ls::std::core::IllegalArgumentException;
|
|
|
using ls::std::event::reworked::Event;
|
|
|
+using ls::std::event::reworked::EventManager;
|
|
|
+using ::std::make_shared;
|
|
|
using testing::Test;
|
|
|
|
|
|
namespace
|
|
@@ -27,4 +31,60 @@ namespace
|
|
|
{
|
|
|
ASSERT_STREQ("OnClickEvent", Event("OnClickEvent").getClassName().c_str());
|
|
|
}
|
|
|
+
|
|
|
+ TEST_F(EventTest, getManager)
|
|
|
+ {
|
|
|
+ ASSERT_TRUE(Event("TmpEvent").getManager() == nullptr);
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(EventTest, of)
|
|
|
+ {
|
|
|
+ auto event = Event("TmpEvent").of(make_shared<EventManager>());
|
|
|
+
|
|
|
+ ASSERT_STREQ("TmpEvent", event.getClassName().c_str());
|
|
|
+ ASSERT_TRUE(event.getManager() != nullptr);
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(EventTest, of_with_no_reference)
|
|
|
+ {
|
|
|
+ EXPECT_THROW(
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ auto event = Event("TmpEvent").of(nullptr);
|
|
|
+ }
|
|
|
+ catch (const IllegalArgumentException &_exception)
|
|
|
+ {
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ IllegalArgumentException);
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(EventTest, setManager)
|
|
|
+ {
|
|
|
+ auto event = Event("TmpEvent");
|
|
|
+ ASSERT_TRUE(event.getManager() == nullptr);
|
|
|
+
|
|
|
+ event.setManager(make_shared<EventManager>());
|
|
|
+ ASSERT_FALSE(event.getManager() == nullptr);
|
|
|
+ }
|
|
|
+
|
|
|
+ TEST_F(EventTest, setManager_with_no_reference)
|
|
|
+ {
|
|
|
+ auto event = Event("TmpEvent");
|
|
|
+
|
|
|
+ EXPECT_THROW(
|
|
|
+ {
|
|
|
+ try
|
|
|
+ {
|
|
|
+ event.setManager(nullptr);
|
|
|
+ }
|
|
|
+ catch (const IllegalArgumentException &_exception)
|
|
|
+ {
|
|
|
+ throw;
|
|
|
+ }
|
|
|
+ },
|
|
|
+ IllegalArgumentException);
|
|
|
+ }
|
|
|
}
|