mirror of
https://github.com/Sani7/remote-ui.git
synced 2026-10-26 21:51:13 +01:00
Adds UI widget tests
Adds unit tests for UI components. UI_can, UI_stacked_widget, UI_status_bar and UI_tab_widget
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
#include "Test.hpp"
|
||||
#include <gtest/gtest.h>
|
||||
|
||||
TEST(UI_can, add_clear_message)
|
||||
{
|
||||
UI_can can(Color::Default, Color::Default);
|
||||
QByteArray array;
|
||||
array.fill((char)0xAA, 8);
|
||||
can.add_received_message(QCanBusFrame(123, array));
|
||||
array.fill((char)0xBB, 8);
|
||||
can.add_send_message(QCanBusFrame(456, array));
|
||||
json j = can.to_json(0);
|
||||
EXPECT_EQ(j.dump(),
|
||||
"{\"bg_color\":\"#FF839192\",\"enabled\":true,\"fg_color\":\"#FF839192\",\"id\":0,\"rcvd_msgs\":[{"
|
||||
"\"dlc\":8,\"id\":123,\"payload\":[170,170,170,170,170,170,170,170]}],\"send_msgs\":[{\"dlc\":8,\"id\":"
|
||||
"456,\"payload\":[187,187,187,187,187,187,187,187]}],\"type\":\"ui_can\",\"visible\":true}");
|
||||
|
||||
can.clear_send_buffer();
|
||||
j = can.to_json(0);
|
||||
EXPECT_EQ(j.dump(), "{\"bg_color\":\"#FF839192\",\"enabled\":true,\"fg_color\":\"#FF839192\",\"id\":0,\"rcvd_"
|
||||
"msgs\":[{\"dlc\":8,\"id\":123,\"payload\":[170,170,170,170,170,170,170,170]}],\"send_msgs\":[]"
|
||||
",\"type\":\"ui_can\",\"visible\":true}");
|
||||
|
||||
can.clear_receive_buffer();
|
||||
j = can.to_json(0);
|
||||
EXPECT_EQ(j.dump(), "{\"bg_color\":\"#FF839192\",\"enabled\":true,\"fg_color\":\"#FF839192\",\"id\":0,\"rcvd_"
|
||||
"msgs\":[],\"send_msgs\":[],\"type\":\"ui_can\",\"visible\":true}");
|
||||
|
||||
array.fill((char)0xAA, 8);
|
||||
can.add_received_message(QCanBusFrame(123, array));
|
||||
array.fill((char)0xBB, 8);
|
||||
can.add_send_message(QCanBusFrame(456, array));
|
||||
j = can.to_json(0);
|
||||
EXPECT_EQ(j.dump(),
|
||||
"{\"bg_color\":\"#FF839192\",\"enabled\":true,\"fg_color\":\"#FF839192\",\"id\":0,\"rcvd_msgs\":[{"
|
||||
"\"dlc\":8,\"id\":123,\"payload\":[170,170,170,170,170,170,170,170]}],\"send_msgs\":[{\"dlc\":8,\"id\":"
|
||||
"456,\"payload\":[187,187,187,187,187,187,187,187]}],\"type\":\"ui_can\",\"visible\":true}");
|
||||
|
||||
can.clear();
|
||||
j = can.to_json(0);
|
||||
EXPECT_EQ(j.dump(), "{\"bg_color\":\"#FF839192\",\"enabled\":true,\"fg_color\":\"#FF839192\",\"id\":0,\"rcvd_"
|
||||
"msgs\":[],\"send_msgs\":[],\"type\":\"ui_can\",\"visible\":true}");
|
||||
}
|
||||
|
||||
TEST(UI_can, signal)
|
||||
{
|
||||
UI_can can(Color::Default, Color::Default);
|
||||
QSignalSpy spy_ui(&can, &UI_can::ui_changed);
|
||||
QSignalSpy spy_send(&can, &UI_can::send);
|
||||
QByteArray array;
|
||||
array.fill((char)0xAA, 8);
|
||||
can.add_received_message(QCanBusFrame(123, array));
|
||||
array.fill((char)0xBB, 8);
|
||||
can.add_send_message(QCanBusFrame(456, array));
|
||||
can.can_send(123, 3, {0xAA, 0xBB, 0xAA});
|
||||
EXPECT_EQ(spy_ui.count(), 2);
|
||||
EXPECT_EQ(spy_send.count(), 1);
|
||||
}
|
||||
@@ -0,0 +1,36 @@
|
||||
#include "Test.hpp"
|
||||
|
||||
TEST(UI_stacked_widget, to_from_json)
|
||||
{
|
||||
UI_stacked_widget stacked_widget(3, 0);
|
||||
json j = stacked_widget.to_json(0);
|
||||
UI_stacked_widget stacked_widget2;
|
||||
stacked_widget2.from_json(j);
|
||||
EXPECT_EQ(stacked_widget.selected(), stacked_widget2.selected());
|
||||
}
|
||||
|
||||
TEST(UI_stacked_widget, set_selected)
|
||||
{
|
||||
UI_stacked_widget stacked_widget(3, 0);
|
||||
QSignalSpy spy_ui(&stacked_widget, &UI_stacked_widget::ui_changed);
|
||||
EXPECT_EQ(stacked_widget.selected(), 0);
|
||||
stacked_widget.set_selected(1);
|
||||
EXPECT_EQ(stacked_widget.selected(), 1);
|
||||
stacked_widget.set_selected(3);
|
||||
EXPECT_EQ(stacked_widget.selected(), 1);
|
||||
EXPECT_EQ(spy_ui.count(), 1);
|
||||
}
|
||||
|
||||
TEST(UI_stacked_widget, advance_tab)
|
||||
{
|
||||
UI_stacked_widget stacked_widget(3, 0);
|
||||
QSignalSpy spy_ui(&stacked_widget, &UI_stacked_widget::ui_changed);
|
||||
EXPECT_EQ(stacked_widget.selected(), 0);
|
||||
stacked_widget.advance_tab();
|
||||
EXPECT_EQ(stacked_widget.selected(), 1);
|
||||
stacked_widget.advance_tab();
|
||||
EXPECT_EQ(stacked_widget.selected(), 2);
|
||||
stacked_widget.advance_tab();
|
||||
EXPECT_EQ(stacked_widget.selected(), 0);
|
||||
EXPECT_EQ(spy_ui.count(), 3);
|
||||
}
|
||||
@@ -0,0 +1,22 @@
|
||||
#include "Test.hpp"
|
||||
|
||||
TEST(UI_status_bar, to_from_json)
|
||||
{
|
||||
UI_status_bar statusbar("message");
|
||||
json j = statusbar.to_json(0);
|
||||
UI_status_bar statusbar2;
|
||||
statusbar2.from_json(j);
|
||||
EXPECT_EQ(statusbar.text(), statusbar2.text());
|
||||
}
|
||||
|
||||
TEST(UI_status_bar, show_message)
|
||||
{
|
||||
UI_status_bar statusbar("message");
|
||||
QSignalSpy spy_ui(&statusbar, &UI_status_bar::ui_changed);
|
||||
EXPECT_EQ(statusbar.text(), "message");
|
||||
EXPECT_EQ(statusbar.timeout(), 0);
|
||||
statusbar.show_message("random text", 3);
|
||||
EXPECT_EQ(statusbar.text(), "random text");
|
||||
EXPECT_EQ(statusbar.timeout(), 3);
|
||||
EXPECT_EQ(spy_ui.count(), 1);
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
#include "Test.hpp"
|
||||
|
||||
TEST(UI_tab_widget, to_from_json)
|
||||
{
|
||||
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
|
||||
json j = stacked_widget.to_json(0);
|
||||
UI_tab_widget stacked_widget2;
|
||||
stacked_widget2.from_json(j);
|
||||
EXPECT_EQ(stacked_widget.selected(), stacked_widget2.selected());
|
||||
}
|
||||
|
||||
TEST(UI_tab_widget, set_selected)
|
||||
{
|
||||
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
|
||||
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
|
||||
EXPECT_EQ(stacked_widget.selected(), 0);
|
||||
stacked_widget.set_selected(1);
|
||||
EXPECT_EQ(stacked_widget.selected(), 1);
|
||||
stacked_widget.set_selected(3);
|
||||
EXPECT_EQ(stacked_widget.selected(), 1);
|
||||
EXPECT_EQ(spy_ui.count(), 1);
|
||||
}
|
||||
|
||||
TEST(UI_tab_widget, advance_tab)
|
||||
{
|
||||
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
|
||||
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
|
||||
EXPECT_EQ(stacked_widget.selected(), 0);
|
||||
stacked_widget.advance_tab();
|
||||
EXPECT_EQ(stacked_widget.selected(), 1);
|
||||
stacked_widget.advance_tab();
|
||||
EXPECT_EQ(stacked_widget.selected(), 2);
|
||||
stacked_widget.advance_tab();
|
||||
EXPECT_EQ(stacked_widget.selected(), 0);
|
||||
EXPECT_EQ(spy_ui.count(), 3);
|
||||
}
|
||||
|
||||
TEST(UI_tab_widget, set_tab_name)
|
||||
{
|
||||
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
|
||||
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
|
||||
EXPECT_EQ(stacked_widget.tab_name(1), "Tab 1");
|
||||
stacked_widget.set_tab_name(1, "New Tab 1");
|
||||
EXPECT_EQ(stacked_widget.tab_name(1), "New Tab 1");
|
||||
stacked_widget.set_tab_name(3, "Invalid Tab");
|
||||
EXPECT_EQ(stacked_widget.tab_name(3), "");
|
||||
EXPECT_EQ(spy_ui.count(), 1);
|
||||
}
|
||||
|
||||
TEST(UI_tab_widget, set_visible)
|
||||
{
|
||||
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
|
||||
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
|
||||
EXPECT_EQ(stacked_widget.visible(1), true);
|
||||
stacked_widget.set_visible(1, false);
|
||||
EXPECT_EQ(stacked_widget.visible(1), false);
|
||||
stacked_widget.set_visible(3, true);
|
||||
EXPECT_EQ(stacked_widget.visible(3), false);
|
||||
EXPECT_EQ(spy_ui.count(), 1);
|
||||
}
|
||||
|
||||
TEST(UI_tab_widget, signal)
|
||||
{
|
||||
UI_tab_widget stacked_widget({"Tab 0", "Tab 1", "Tab 2"}, 0);
|
||||
QSignalSpy spy_ui(&stacked_widget, &UI_tab_widget::ui_changed);
|
||||
QSignalSpy spy_changed(&stacked_widget, &UI_tab_widget::changed);
|
||||
stacked_widget.set_selected(1);
|
||||
EXPECT_EQ(spy_ui.count(), 1);
|
||||
EXPECT_EQ(spy_changed.count(), 1);
|
||||
}
|
||||
Reference in New Issue
Block a user