diff --git a/tests/UI_plot.cpp b/tests/UI_plot.cpp new file mode 100644 index 0000000..cf63fc9 --- /dev/null +++ b/tests/UI_plot.cpp @@ -0,0 +1,58 @@ +#include +#include +#include "ui_plot.hpp" + +TEST(UI_plot, to_from_json) +{ + UI_plot plot("Plot", "X-Axis", "Y-Axis"); + json j = plot.to_json(0); + UI_plot plot2; + plot2.from_json(j); + EXPECT_EQ(plot.x_label(), plot2.x_label()); + EXPECT_EQ(plot.y_label(), plot2.y_label()); + EXPECT_EQ(plot.x_vals(), plot2.x_vals()); + EXPECT_EQ(plot.y_vals(), plot2.y_vals()); +} + +TEST(UI_plot, set_label) +{ + UI_plot plot("Plot", "X-Axis", "Y-Axis"); + QSignalSpy spy_ui(&plot, &UI_plot::ui_changed); + plot.set_x_label("New X-Axis"); + EXPECT_EQ(plot.x_label(), "New X-Axis"); + plot.set_y_label("New Y-Axis"); + EXPECT_EQ(plot.y_label(), "New Y-Axis"); + EXPECT_EQ(spy_ui.count(), 2); +} + +TEST(UI_plot, add_value) +{ + UI_plot plot("Plot", "X-Axis", "Y-Axis"); + QSignalSpy spy_ui(&plot, &UI_plot::ui_changed); + plot.add_value(1.0); + plot.add_value(2.0); + EXPECT_EQ(plot.x_vals().size(), 2); + EXPECT_EQ(plot.y_vals().size(), 2); + EXPECT_EQ(plot.x_vals()[0], 0.0); + EXPECT_EQ(plot.y_vals()[0], 1.0); + EXPECT_EQ(plot.x_vals()[1], 1.0); + EXPECT_EQ(plot.y_vals()[1], 2.0); + plot.add_value(3.0, 4.0); + EXPECT_EQ(plot.x_vals().size(), 3); + EXPECT_EQ(plot.y_vals().size(), 3); + EXPECT_EQ(plot.x_vals()[2], 3.0); + EXPECT_EQ(plot.y_vals()[2], 4.0); + EXPECT_EQ(spy_ui.count(), 3); +} + +TEST(UI_plot, clean_vals) +{ + UI_plot plot("Plot", "X-Axis", "Y-Axis"); + plot.add_value(1.0); + plot.add_value(2.0); + QSignalSpy spy_ui(&plot, &UI_plot::ui_changed); + plot.clean_vals(); + EXPECT_EQ(plot.x_vals().size(), 0); + EXPECT_EQ(plot.y_vals().size(), 0); + EXPECT_EQ(spy_ui.count(), 1); +}