diff options
Diffstat (limited to 'src/test')
| -rw-r--r-- | src/test/EventTest.cpp | 51 | ||||
| -rw-r--r-- | src/test/InputTest.cpp | 33 | 
2 files changed, 37 insertions, 47 deletions
diff --git a/src/test/EventTest.cpp b/src/test/EventTest.cpp index 82272b5..f8be3fe 100644 --- a/src/test/EventTest.cpp +++ b/src/test/EventTest.cpp @@ -48,15 +48,14 @@ TEST_F(EventManagerTest, EventManagerTest_trigger_all_channels) {  	EventHandler<MouseClickEvent> mouse_handler = [&](const MouseClickEvent & e) {  		triggered = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false;  	};  	event_mgr.subscribe<MouseClickEvent>(mouse_handler, EventManager::CHANNEL_ALL); -	MouseClickEvent click_event{ -		.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}; +	MouseClickEvent click_event{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE};  	event_mgr.trigger_event<MouseClickEvent>(click_event, EventManager::CHANNEL_ALL);  	EXPECT_TRUE(triggered); @@ -66,15 +65,14 @@ TEST_F(EventManagerTest, EventManagerTest_trigger_one_channel) {  	int test_channel = 1;  	EventHandler<MouseClickEvent> mouse_handler = [&](const MouseClickEvent & e) {  		triggered = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false;  	};  	event_mgr.subscribe<MouseClickEvent>(mouse_handler, test_channel); -	MouseClickEvent click_event{ -		.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}; +	MouseClickEvent click_event{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE};  	event_mgr.trigger_event<MouseClickEvent>(click_event, EventManager::CHANNEL_ALL);  	EXPECT_FALSE(triggered); @@ -90,23 +88,22 @@ TEST_F(EventManagerTest, EventManagerTest_callback_propagation) {  	// Handlers  	EventHandler<MouseClickEvent> mouse_handler_true = [&](const MouseClickEvent & e) {  		triggered_true = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return true; // Stops propagation  	};  	EventHandler<MouseClickEvent> mouse_handler_false = [&](const MouseClickEvent & e) {  		triggered_false = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false; // Allows propagation  	};  	// Test event -	MouseClickEvent click_event{ -		.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}; +	MouseClickEvent click_event{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE};  	event_mgr.subscribe<MouseClickEvent>(mouse_handler_true, EventManager::CHANNEL_ALL);  	event_mgr.subscribe<MouseClickEvent>(mouse_handler_false, EventManager::CHANNEL_ALL); @@ -138,15 +135,15 @@ TEST_F(EventManagerTest, EventManagerTest_queue_dispatch) {  	int test_channel = 1;  	EventHandler<MouseClickEvent> mouse_handler1 = [&](const MouseClickEvent & e) {  		triggered1 = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false; // Allows propagation  	};  	EventHandler<MouseClickEvent> mouse_handler2 = [&](const MouseClickEvent & e) {  		triggered2 = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false; // Allows propagation  	}; @@ -154,9 +151,9 @@ TEST_F(EventManagerTest, EventManagerTest_queue_dispatch) {  	event_mgr.subscribe<MouseClickEvent>(mouse_handler2, test_channel);  	event_mgr.queue_event<MouseClickEvent>( -		MouseClickEvent{.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}); +		MouseClickEvent{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE});  	event_mgr.queue_event<MouseClickEvent>( -		MouseClickEvent{.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}, +		MouseClickEvent{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE},  		test_channel);  	event_mgr.dispatch_events();  	EXPECT_TRUE(triggered1); @@ -172,16 +169,16 @@ TEST_F(EventManagerTest, EventManagerTest_unsubscribe) {  	// Define EventHandlers  	EventHandler<MouseClickEvent> mouse_handler1 = [&](const MouseClickEvent & e) {  		triggered1 = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false; // Allows propagation  	};  	EventHandler<MouseClickEvent> mouse_handler2 = [&](const MouseClickEvent & e) {  		triggered2 = true; -		EXPECT_EQ(e.mouse_x, 100); -		EXPECT_EQ(e.mouse_y, 200); +		EXPECT_EQ(e.mouse_pos.x, 100); +		EXPECT_EQ(e.mouse_pos.y, 200);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false; // Allows propagation  	}; @@ -191,7 +188,7 @@ TEST_F(EventManagerTest, EventManagerTest_unsubscribe) {  	// Queue events  	event_mgr.queue_event<MouseClickEvent>( -		MouseClickEvent{.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}); +		MouseClickEvent{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE});  	// Dispatch events - both handlers should be triggered  	event_mgr.dispatch_events(); @@ -207,7 +204,7 @@ TEST_F(EventManagerTest, EventManagerTest_unsubscribe) {  	// Queue the same event again  	event_mgr.queue_event<MouseClickEvent>( -		MouseClickEvent{.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}); +		MouseClickEvent{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE});  	// Dispatch events - only handler 2 should be triggered, handler 1 should NOT  	event_mgr.dispatch_events(); @@ -222,7 +219,7 @@ TEST_F(EventManagerTest, EventManagerTest_unsubscribe) {  	// Queue the event again  	event_mgr.queue_event<MouseClickEvent>( -		MouseClickEvent{.mouse_x = 100, .mouse_y = 200, .button = MouseButton::LEFT_MOUSE}); +		MouseClickEvent{.mouse_pos = {100, 200}, .button = MouseButton::LEFT_MOUSE});  	// Dispatch events - no handler should be triggered  	event_mgr.dispatch_events(); diff --git a/src/test/InputTest.cpp b/src/test/InputTest.cpp index ee362be..649f982 100644 --- a/src/test/InputTest.cpp +++ b/src/test/InputTest.cpp @@ -42,7 +42,7 @@ protected:  		//mediator.component_manager = mgr;  		//event_manager.clear();  	} - +	void TearDown() override {}  	void simulate_mouse_click(int mouse_x, int mouse_y, Uint8 mouse_button) {  		SDL_Event event; @@ -69,8 +69,8 @@ TEST_F(InputTest, MouseDown) {  	EventHandler<MousePressEvent> on_mouse_down = [&](const MousePressEvent & event) {  		mouse_triggered = true;  		//middle of the screen = 0,0 -		EXPECT_EQ(event.mouse_x, 0); -		EXPECT_EQ(event.mouse_y, 0); +		EXPECT_EQ(event.mouse_pos.x, 0); +		EXPECT_EQ(event.mouse_pos.y, 0);  		EXPECT_EQ(event.button, MouseButton::LEFT_MOUSE);  		return false;  	}; @@ -94,8 +94,8 @@ TEST_F(InputTest, MouseUp) {  	bool function_triggered = false;  	EventHandler<MouseReleaseEvent> on_mouse_release = [&](const MouseReleaseEvent & e) {  		function_triggered = true; -		EXPECT_EQ(e.mouse_x, 0); -		EXPECT_EQ(e.mouse_y, 0); +		EXPECT_EQ(e.mouse_pos.x, 0); +		EXPECT_EQ(e.mouse_pos.y, 0);  		EXPECT_EQ(e.button, MouseButton::LEFT_MOUSE);  		return false;  	}; @@ -118,10 +118,10 @@ TEST_F(InputTest, MouseMove) {  	bool function_triggered = false;  	EventHandler<MouseMoveEvent> on_mouse_move = [&](const MouseMoveEvent & e) {  		function_triggered = true; -		EXPECT_EQ(e.mouse_x, 0); -		EXPECT_EQ(e.mouse_y, 0); -		EXPECT_EQ(e.delta_x, 10); -		EXPECT_EQ(e.delta_y, 10); +		EXPECT_EQ(e.mouse_pos.x, 0); +		EXPECT_EQ(e.mouse_pos.y, 0); +		EXPECT_EQ(e.mouse_delta.x, 10); +		EXPECT_EQ(e.mouse_delta.y, 10);  		return false;  	};  	event_manager.subscribe<MouseMoveEvent>(on_mouse_move); @@ -192,8 +192,8 @@ TEST_F(InputTest, MouseClick) {  	EventHandler<MouseClickEvent> on_mouse_click = [&](const MouseClickEvent & event) {  		on_click_triggered = true;  		EXPECT_EQ(event.button, MouseButton::LEFT_MOUSE); -		EXPECT_EQ(event.mouse_x, 0); -		EXPECT_EQ(event.mouse_y, 0); +		EXPECT_EQ(event.mouse_pos.x, 0); +		EXPECT_EQ(event.mouse_pos.y, 0);  		return false;  	};  	event_manager.subscribe<MouseClickEvent>(on_mouse_click); @@ -208,14 +208,10 @@ TEST_F(InputTest, testButtonClick) {  	GameObject button_obj = mgr.new_object("body", "person", vec2{0, 0}, 0, 1);  	bool button_clicked = false;  	std::function<void()> on_click = [&]() { button_clicked = true; }; -	auto & button -		= button_obj.add_component<Button>(vec2{100, 100}, vec2{0, 0}, on_click, false); +	auto & button = button_obj.add_component<Button>(vec2{100, 100}, vec2{0, 0}, on_click);  	bool hover = false;  	button.active = true; - -	button.is_pressed = false; -	button.is_toggle = false;  	this->simulate_mouse_click(999, 999, SDL_BUTTON_LEFT);  	input_system.fixed_update();  	event_manager.dispatch_events(); @@ -231,11 +227,8 @@ TEST_F(InputTest, testButtonHover) {  	GameObject button_obj = mgr.new_object("body", "person", vec2{0, 0}, 0, 1);  	bool button_clicked = false;  	std::function<void()> on_click = [&]() { button_clicked = true; }; -	auto & button -		= button_obj.add_component<Button>(vec2{100, 100}, vec2{0, 0}, on_click, false); +	auto & button = button_obj.add_component<Button>(vec2{100, 100}, vec2{0, 0}, on_click);  	button.active = true; -	button.is_pressed = false; -	button.is_toggle = false;  	// Mouse not on button  	SDL_Event event;  |