Forráskód Böngészése

test: use common types for lib tests (emitter)

Michele Caini 2 éve
szülő
commit
4cc5745346

+ 0 - 15
test/lib/emitter/common/types.h

@@ -1,15 +0,0 @@
-#ifndef ENTT_LIB_EMITTER_COMMON_TYPES_H
-#define ENTT_LIB_EMITTER_COMMON_TYPES_H
-
-#include <entt/signal/emitter.hpp>
-
-struct test_emitter
-    : entt::emitter<test_emitter> {};
-
-struct message {
-    int payload{};
-};
-
-struct event {};
-
-#endif

+ 6 - 5
test/lib/emitter/plugin/main.cpp

@@ -1,18 +1,19 @@
 #define CR_HOST
 
 #include <gtest/gtest.h>
+#include <common/boxed_type.h>
+#include <common/emitter.h>
 #include <cr.h>
-#include "../common/types.h"
 
 TEST(Lib, Emitter) {
-    test_emitter emitter;
+    test::emitter emitter;
     int value{};
 
     ASSERT_EQ(value, 0);
 
-    emitter.on<message>([&](message msg, test_emitter &owner) {
-        value = msg.payload;
-        owner.erase<message>();
+    emitter.on<test::boxed_int>([&](test::boxed_int msg, test::emitter &owner) {
+        value = msg.value;
+        owner.erase<test::boxed_int>();
     });
 
     cr_plugin ctx;

+ 6 - 4
test/lib/emitter/plugin/plugin.cpp

@@ -1,12 +1,14 @@
+#include <common/boxed_type.h>
+#include <common/emitter.h>
+#include <common/empty.h>
 #include <cr.h>
-#include "../common/types.h"
 
 CR_EXPORT int cr_main(cr_plugin *ctx, cr_op operation) {
     switch(operation) {
     case CR_STEP:
-        static_cast<test_emitter *>(ctx->userdata)->publish(event{});
-        static_cast<test_emitter *>(ctx->userdata)->publish(message{4});
-        static_cast<test_emitter *>(ctx->userdata)->publish(message{3});
+        static_cast<test::emitter *>(ctx->userdata)->publish(test::empty{});
+        static_cast<test::emitter *>(ctx->userdata)->publish(test::boxed_int{4});
+        static_cast<test::emitter *>(ctx->userdata)->publish(test::boxed_int{3});
         break;
     case CR_CLOSE:
     case CR_LOAD:

+ 7 - 5
test/lib/emitter/shared/lib.cpp

@@ -1,8 +1,10 @@
+#include <common/boxed_type.h>
+#include <common/emitter.h>
+#include <common/empty.h>
 #include <entt/core/attribute.h>
-#include "../common/types.h"
 
-ENTT_API void emit(test_emitter &emitter) {
-    emitter.publish(event{});
-    emitter.publish(message{2});
-    emitter.publish(message{3});
+ENTT_API void emit(test::emitter &emitter) {
+    emitter.publish(test::empty{});
+    emitter.publish(test::boxed_int{2});
+    emitter.publish(test::boxed_int{3});
 }

+ 7 - 6
test/lib/emitter/shared/main.cpp

@@ -1,18 +1,19 @@
 #include <gtest/gtest.h>
+#include <common/boxed_type.h>
+#include <common/emitter.h>
 #include <entt/core/attribute.h>
-#include "../common/types.h"
 
-ENTT_API void emit(test_emitter &);
+ENTT_API void emit(test::emitter &);
 
 TEST(Lib, Emitter) {
-    test_emitter emitter;
+    test::emitter emitter;
     int value{};
 
     ASSERT_EQ(value, 0);
 
-    emitter.on<message>([&](message msg, test_emitter &owner) {
-        value = msg.payload;
-        owner.erase<message>();
+    emitter.on<test::boxed_int>([&](test::boxed_int msg, test::emitter &owner) {
+        value = msg.value;
+        owner.erase<test::boxed_int>();
     });
 
     emit(emitter);