Pārlūkot izejas kodu

add events test for EventBuffer's testing

mikymod 12 gadi atpakaļ
vecāks
revīzija
334fa50bd6
2 mainītis faili ar 52 papildinājumiem un 1 dzēšanām
  1. 3 1
      engine/tests/CMakeLists.txt
  2. 49 0
      engine/tests/events.cpp

+ 3 - 1
engine/tests/CMakeLists.txt

@@ -11,6 +11,7 @@ add_executable(strings strings.cpp)
 add_executable(paths paths.cpp)
 add_executable(paths paths.cpp)
 add_executable(dynamic-strings dynamic-strings.cpp)
 add_executable(dynamic-strings dynamic-strings.cpp)
 add_executable(json json.cpp)
 add_executable(json json.cpp)
+add_executable(events events.cpp)
 
 
 target_link_libraries(allocators crown)
 target_link_libraries(allocators crown)
 target_link_libraries(containers crown)
 target_link_libraries(containers crown)
@@ -19,6 +20,7 @@ target_link_libraries(strings crown)
 target_link_libraries(paths crown)
 target_link_libraries(paths crown)
 target_link_libraries(dynamic-strings crown)
 target_link_libraries(dynamic-strings crown)
 target_link_libraries(json crown)
 target_link_libraries(json crown)
+target_link_libraries(events crown)
 
 
 add_test(allocators-test ${EXECUTABLE_OUTPUT_PATH}/allocators)
 add_test(allocators-test ${EXECUTABLE_OUTPUT_PATH}/allocators)
 add_test(containers-test ${EXECUTABLE_OUTPUT_PATH}/containers)
 add_test(containers-test ${EXECUTABLE_OUTPUT_PATH}/containers)
@@ -27,4 +29,4 @@ add_test(strings-test ${EXECUTABLE_OUTPUT_PATH}/strings)
 add_test(paths-test ${EXECUTABLE_OUTPUT_PATH}/paths)
 add_test(paths-test ${EXECUTABLE_OUTPUT_PATH}/paths)
 add_test(dynamic-string-test ${EXECUTABLE_OUTPUT_PATH}/dynamic-strings)
 add_test(dynamic-string-test ${EXECUTABLE_OUTPUT_PATH}/dynamic-strings)
 add_test(json-test ${EXECUTABLE_OUTPUT_PATH}/json)
 add_test(json-test ${EXECUTABLE_OUTPUT_PATH}/json)
-
+add_test(events-test ${EXECUTABLE_OUTPUT_PATH}/events)

+ 49 - 0
engine/tests/events.cpp

@@ -0,0 +1,49 @@
+#include "Crown.h"
+#include "EventBuffer.h"
+
+using namespace crown;
+
+//-----------------------------------------------------------------------------
+struct TestEvent
+{
+	uint32_t a;
+	uint32_t b;
+	uint32_t c;
+};
+
+//-----------------------------------------------------------------------------
+int main()
+{
+	EventBuffer event_buffer;
+
+	TestEvent event;
+	event.a = 1;
+	event.b = 2;
+	event.c = 3;
+
+	for (uint32_t i = 0; i < 10; i++)
+	{
+		event_buffer.push_event(0, &event, sizeof(TestEvent));
+	}
+
+	CE_ASSERT(event_buffer.size() == (10 * (sizeof(TestEvent) + sizeof(uint32_t) + sizeof(size_t))), "Something ha gone wrong");
+
+	TestEvent* result;
+	uint32_t type = 0;
+	size_t size = 0;
+
+	uint32_t count = 0;
+	while ((result = (TestEvent*)event_buffer.get_next_event(type, size)) != NULL)
+	{
+		Log::i("type => %d", type);
+		Log::i("size => %d", size);	
+		Log::i("a    => %d", result->a);
+		Log::i("b    => %d", result->b);
+		Log::i("c    => %d", result->c);
+		count++;
+	}
+
+	CE_ASSERT(count == 10, "Something ha gone wrong");
+
+	return 0;
+}