Quellcode durchsuchen

process: tests with both a complex data type and a fundamental type (close #326)

Michele Caini vor 6 Jahren
Ursprung
Commit
03c4267b84
1 geänderte Dateien mit 21 neuen und 17 gelöschten Zeilen
  1. 21 17
      test/entt/process/process.cpp

+ 21 - 17
test/entt/process/process.cpp

@@ -1,9 +1,13 @@
-#include <gtest/gtest.h>
 #include <cstdint>
+#include <gtest/gtest.h>
 #include <entt/process/process.hpp>
 
-struct fake_process: entt::process<fake_process, int> {
-    using process_type = entt::process<fake_process, int>;
+struct fake_delta {};
+
+template<typename Delta>
+struct fake_process: entt::process<fake_process<Delta>, Delta> {
+    using process_type = entt::process<fake_process<Delta>, Delta>;
+    using delta_type = typename process_type::delta_type;
 
     void succeed() noexcept { process_type::succeed(); }
     void fail() noexcept { process_type::fail(); }
@@ -15,7 +19,7 @@ struct fake_process: entt::process<fake_process, int> {
     void failed() { failed_invoked = true; }
     void aborted() { aborted_invoked = true; }
 
-    void update(delta_type, void *data) {
+    void update(typename entt::process<fake_process<Delta>, Delta>::delta_type, void *data) {
         if(data) {
             (*static_cast<int *>(data))++;
         }
@@ -31,7 +35,7 @@ struct fake_process: entt::process<fake_process, int> {
 };
 
 TEST(Process, Basics) {
-    fake_process process;
+    fake_process<int> process;
 
     ASSERT_FALSE(process.alive());
     ASSERT_FALSE(process.dead());
@@ -67,12 +71,12 @@ TEST(Process, Basics) {
 }
 
 TEST(Process, Succeeded) {
-    fake_process process;
+    fake_process<fake_delta> process;
 
-    process.tick(0);
-    process.tick(0);
+    process.tick({});
+    process.tick({});
     process.succeed();
-    process.tick(0);
+    process.tick({});
 
     ASSERT_FALSE(process.alive());
     ASSERT_TRUE(process.dead());
@@ -86,7 +90,7 @@ TEST(Process, Succeeded) {
 }
 
 TEST(Process, Fail) {
-    fake_process process;
+    fake_process<int> process;
 
     process.tick(0);
     process.tick(0);
@@ -105,13 +109,13 @@ TEST(Process, Fail) {
 }
 
 TEST(Process, Data) {
-    fake_process process;
+    fake_process<fake_delta> process;
     int value = 0;
 
-    process.tick(0);
-    process.tick(0, &value);
+    process.tick({});
+    process.tick({}, &value);
     process.succeed();
-    process.tick(0, &value);
+    process.tick({}, &value);
 
     ASSERT_FALSE(process.alive());
     ASSERT_TRUE(process.dead());
@@ -126,7 +130,7 @@ TEST(Process, Data) {
 }
 
 TEST(Process, AbortNextTick) {
-    fake_process process;
+    fake_process<int> process;
 
     process.tick(0);
     process.abort();
@@ -144,9 +148,9 @@ TEST(Process, AbortNextTick) {
 }
 
 TEST(Process, AbortImmediately) {
-    fake_process process;
+    fake_process<fake_delta> process;
 
-    process.tick(0);
+    process.tick({});
     process.abort(true);
 
     ASSERT_FALSE(process.alive());