소스 검색

test: use common types for lib tests (emitter)

Michele Caini 2 년 전
부모
커밋
4cc5745346
5개의 변경된 파일과 26개의 추가작업 그리고 35개의 파일을 삭제
  1. 0 15
      test/lib/emitter/common/types.h
  2. 6 5
      test/lib/emitter/plugin/main.cpp
  3. 6 4
      test/lib/emitter/plugin/plugin.cpp
  4. 7 5
      test/lib/emitter/shared/lib.cpp
  5. 7 6
      test/lib/emitter/shared/main.cpp

+ 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
 #define CR_HOST
 
 
 #include <gtest/gtest.h>
 #include <gtest/gtest.h>
+#include <common/boxed_type.h>
+#include <common/emitter.h>
 #include <cr.h>
 #include <cr.h>
-#include "../common/types.h"
 
 
 TEST(Lib, Emitter) {
 TEST(Lib, Emitter) {
-    test_emitter emitter;
+    test::emitter emitter;
     int value{};
     int value{};
 
 
     ASSERT_EQ(value, 0);
     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;
     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 <cr.h>
-#include "../common/types.h"
 
 
 CR_EXPORT int cr_main(cr_plugin *ctx, cr_op operation) {
 CR_EXPORT int cr_main(cr_plugin *ctx, cr_op operation) {
     switch(operation) {
     switch(operation) {
     case CR_STEP:
     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;
         break;
     case CR_CLOSE:
     case CR_CLOSE:
     case CR_LOAD:
     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 <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 <gtest/gtest.h>
+#include <common/boxed_type.h>
+#include <common/emitter.h>
 #include <entt/core/attribute.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(Lib, Emitter) {
-    test_emitter emitter;
+    test::emitter emitter;
     int value{};
     int value{};
 
 
     ASSERT_EQ(value, 0);
     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);
     emit(emitter);