From 1f85741c8d12d9b1fbd55b29f334de572f9eea9b Mon Sep 17 00:00:00 2001 From: jbzdarkid Date: Fri, 9 Nov 2018 10:08:03 -0800 Subject: Reading & writing to tutorial vault works! --- Test/PanelExtractionTests.cpp | 119 ++++++++++++++++++++++++++++++++---------- 1 file changed, 92 insertions(+), 27 deletions(-) (limited to 'Test/PanelExtractionTests.cpp') diff --git a/Test/PanelExtractionTests.cpp b/Test/PanelExtractionTests.cpp index dfb9b9e..099fab2 100644 --- a/Test/PanelExtractionTests.cpp +++ b/Test/PanelExtractionTests.cpp @@ -4,7 +4,8 @@ class PanelExtractionTests : public testing::Test { protected: - Panel _panel; + // Test constructor, does not attach to process + Panel _panel = Panel(); // std::shared_ptr _panel; void SetPanelSize(int width, int height) { @@ -13,22 +14,88 @@ protected: _panel._height = height; } - std::tuple loc_to_xy(int location) { - return _panel.loc_to_xy(location); - } - - int xy_to_loc(int x, int y) { - return _panel.xy_to_loc(x, y); - } + std::tuple loc_to_xy(int location) {return _panel.loc_to_xy(location);} + int xy_to_loc(int x, int y) {return _panel.xy_to_loc(x, y);} + std::tuple dloc_to_xy(int location) {return _panel.dloc_to_xy(location);} + int xy_to_dloc(int x, int y) {return _panel.xy_to_dloc(x, y);} }; -TEST_F(PanelExtractionTests, LocToXY_7x5) { +TEST_F(PanelExtractionTests, 1x1) { + SetPanelSize(1, 1); + /* Here's the panel, with the correct location order + 0(_width = 1) + (_height = 1) + */ + ASSERT_EQ(0, xy_to_loc(0, 0)); + ASSERT_EQ((std::tuple{0, 0}), loc_to_xy(0)); +} + +TEST_F(PanelExtractionTests, 7x1) { + SetPanelSize(7, 1); + /* Here's the panel, with the correct location order + 3 . 2 . 1 . 0(_width = 7) + (_height = 1) + */ + ASSERT_EQ(0, xy_to_loc(0, 0)); + ASSERT_EQ(1, xy_to_loc(2, 0)); + ASSERT_EQ(2, xy_to_loc(4, 0)); + ASSERT_EQ(3, xy_to_loc(6, 0)); + ASSERT_EQ((std::tuple{0, 0}), loc_to_xy(0)); + ASSERT_EQ((std::tuple{2, 0}), loc_to_xy(1)); + ASSERT_EQ((std::tuple{4, 0}), loc_to_xy(2)); + ASSERT_EQ((std::tuple{6, 0}), loc_to_xy(3)); +} + +TEST_F(PanelExtractionTests, 1x7) { + SetPanelSize(1, 7); + /* Here's the panel, with the correct location order + 3(_width = 1) + . + 2 + . + 1 + . + 0 + (_height = 7) + */ + ASSERT_EQ(0, xy_to_loc(0, 6)); + ASSERT_EQ(1, xy_to_loc(0, 4)); + ASSERT_EQ(2, xy_to_loc(0, 2)); + ASSERT_EQ(3, xy_to_loc(0, 0)); + ASSERT_EQ((std::tuple{0, 6}), loc_to_xy(0)); + ASSERT_EQ((std::tuple{0, 4}), loc_to_xy(1)); + ASSERT_EQ((std::tuple{0, 2}), loc_to_xy(2)); + ASSERT_EQ((std::tuple{0, 0}), loc_to_xy(3)); +} + +TEST_F(PanelExtractionTests, 3x3) { + SetPanelSize(3, 3); + /* Here's the panel, with the correct location order + 2 . 3 (_width = 3) + . A . + 0 . 1 + (_height = 3) + */ + ASSERT_EQ(0, xy_to_loc(0, 2)); + ASSERT_EQ(1, xy_to_loc(2, 2)); + ASSERT_EQ(2, xy_to_loc(0, 0)); + ASSERT_EQ(3, xy_to_loc(2, 0)); + ASSERT_EQ((std::tuple{0, 2}), loc_to_xy(0)); + ASSERT_EQ((std::tuple{2, 2}), loc_to_xy(1)); + ASSERT_EQ((std::tuple{0, 0}), loc_to_xy(2)); + ASSERT_EQ((std::tuple{2, 0}), loc_to_xy(3)); + + ASSERT_EQ(0, xy_to_dloc(1, 1)); + ASSERT_EQ((std::tuple{1, 1}), dloc_to_xy(0)); +} + +TEST_F(PanelExtractionTests, 7x5) { SetPanelSize(7, 5); /* Here's the panel, with the correct location order 8 . 9 . 10. 11 (_width = 7) - . . . . . . . + . D . E . F . 4 . 5 . 6 . 7 - . . . . . . . + . A . B . C . 0 . 1 . 2 . 3 (_height = 5) */ @@ -36,28 +103,26 @@ TEST_F(PanelExtractionTests, LocToXY_7x5) { ASSERT_EQ(1, xy_to_loc(2, 4)); ASSERT_EQ(2, xy_to_loc(4, 4)); ASSERT_EQ(3, xy_to_loc(6, 4)); + ASSERT_EQ((std::tuple{0, 4}), loc_to_xy(0)); + ASSERT_EQ((std::tuple{2, 4}), loc_to_xy(1)); + ASSERT_EQ((std::tuple{4, 4}), loc_to_xy(2)); + ASSERT_EQ((std::tuple{6, 4}), loc_to_xy(3)); ASSERT_EQ(4, xy_to_loc(0, 2)); ASSERT_EQ(5, xy_to_loc(2, 2)); ASSERT_EQ(6, xy_to_loc(4, 2)); ASSERT_EQ(7, xy_to_loc(6, 2)); + ASSERT_EQ((std::tuple{0, 2}), loc_to_xy(4)); + ASSERT_EQ((std::tuple{2, 2}), loc_to_xy(5)); + ASSERT_EQ((std::tuple{4, 2}), loc_to_xy(6)); + ASSERT_EQ((std::tuple{6, 2}), loc_to_xy(7)); - ASSERT_EQ(8, xy_to_loc(0, 0)); - ASSERT_EQ(9, xy_to_loc(2, 0)); + ASSERT_EQ(8, xy_to_loc(0, 0)); + ASSERT_EQ(9, xy_to_loc(2, 0)); ASSERT_EQ(10, xy_to_loc(4, 0)); ASSERT_EQ(11, xy_to_loc(6, 0)); + ASSERT_EQ((std::tuple{0, 0}), loc_to_xy(8)); + ASSERT_EQ((std::tuple{2, 0}), loc_to_xy(9)); + ASSERT_EQ((std::tuple{4, 0}), loc_to_xy(10)); + ASSERT_EQ((std::tuple{6, 0}), loc_to_xy(11)); } - -TEST_F(PanelExtractionTests, LocToXY_3x3) { - SetPanelSize(3, 3); - /* Here's the panel, with the correct location order - 2 . 3 (_width = 3) - . . . - 0 . 1 - (_height = 3) - */ - ASSERT_EQ(0, xy_to_loc(0, 2)); - ASSERT_EQ(1, xy_to_loc(2, 2)); - ASSERT_EQ(2, xy_to_loc(0, 0)); - ASSERT_EQ(3, xy_to_loc(2, 0)); -} \ No newline at end of file -- cgit 1.4.1