diff options
Diffstat (limited to 'Test')
| -rw-r--r-- | Test/PanelExtractionTests.cpp | 119 |
1 files changed, 92 insertions, 27 deletions
| 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 @@ | |||
| 4 | class PanelExtractionTests : public testing::Test | 4 | class PanelExtractionTests : public testing::Test |
| 5 | { | 5 | { |
| 6 | protected: | 6 | protected: |
| 7 | Panel _panel; | 7 | // Test constructor, does not attach to process |
| 8 | Panel _panel = Panel(); | ||
| 8 | // std::shared_ptr<Panel> _panel; | 9 | // std::shared_ptr<Panel> _panel; |
| 9 | 10 | ||
| 10 | void SetPanelSize(int width, int height) { | 11 | void SetPanelSize(int width, int height) { |
| @@ -13,22 +14,88 @@ protected: | |||
| 13 | _panel._height = height; | 14 | _panel._height = height; |
| 14 | } | 15 | } |
| 15 | 16 | ||
| 16 | std::tuple<int, int> loc_to_xy(int location) { | 17 | std::tuple<int, int> loc_to_xy(int location) {return _panel.loc_to_xy(location);} |
| 17 | return _panel.loc_to_xy(location); | 18 | int xy_to_loc(int x, int y) {return _panel.xy_to_loc(x, y);} |
| 18 | } | 19 | std::tuple<int, int> dloc_to_xy(int location) {return _panel.dloc_to_xy(location);} |
| 19 | 20 | int xy_to_dloc(int x, int y) {return _panel.xy_to_dloc(x, y);} | |
| 20 | int xy_to_loc(int x, int y) { | ||
| 21 | return _panel.xy_to_loc(x, y); | ||
| 22 | } | ||
| 23 | }; | 21 | }; |
| 24 | 22 | ||
| 25 | TEST_F(PanelExtractionTests, LocToXY_7x5) { | 23 | TEST_F(PanelExtractionTests, 1x1) { |
| 24 | SetPanelSize(1, 1); | ||
| 25 | /* Here's the panel, with the correct location order | ||
| 26 | 0(_width = 1) | ||
| 27 | (_height = 1) | ||
| 28 | */ | ||
| 29 | ASSERT_EQ(0, xy_to_loc(0, 0)); | ||
| 30 | ASSERT_EQ((std::tuple<int, int>{0, 0}), loc_to_xy(0)); | ||
| 31 | } | ||
| 32 | |||
| 33 | TEST_F(PanelExtractionTests, 7x1) { | ||
| 34 | SetPanelSize(7, 1); | ||
| 35 | /* Here's the panel, with the correct location order | ||
| 36 | 3 . 2 . 1 . 0(_width = 7) | ||
| 37 | (_height = 1) | ||
| 38 | */ | ||
| 39 | ASSERT_EQ(0, xy_to_loc(0, 0)); | ||
| 40 | ASSERT_EQ(1, xy_to_loc(2, 0)); | ||
| 41 | ASSERT_EQ(2, xy_to_loc(4, 0)); | ||
| 42 | ASSERT_EQ(3, xy_to_loc(6, 0)); | ||
| 43 | ASSERT_EQ((std::tuple<int, int>{0, 0}), loc_to_xy(0)); | ||
| 44 | ASSERT_EQ((std::tuple<int, int>{2, 0}), loc_to_xy(1)); | ||
| 45 | ASSERT_EQ((std::tuple<int, int>{4, 0}), loc_to_xy(2)); | ||
| 46 | ASSERT_EQ((std::tuple<int, int>{6, 0}), loc_to_xy(3)); | ||
| 47 | } | ||
| 48 | |||
| 49 | TEST_F(PanelExtractionTests, 1x7) { | ||
| 50 | SetPanelSize(1, 7); | ||
| 51 | /* Here's the panel, with the correct location order | ||
| 52 | 3(_width = 1) | ||
| 53 | . | ||
| 54 | 2 | ||
| 55 | . | ||
| 56 | 1 | ||
| 57 | . | ||
| 58 | 0 | ||
| 59 | (_height = 7) | ||
| 60 | */ | ||
| 61 | ASSERT_EQ(0, xy_to_loc(0, 6)); | ||
| 62 | ASSERT_EQ(1, xy_to_loc(0, 4)); | ||
| 63 | ASSERT_EQ(2, xy_to_loc(0, 2)); | ||
| 64 | ASSERT_EQ(3, xy_to_loc(0, 0)); | ||
| 65 | ASSERT_EQ((std::tuple<int, int>{0, 6}), loc_to_xy(0)); | ||
| 66 | ASSERT_EQ((std::tuple<int, int>{0, 4}), loc_to_xy(1)); | ||
| 67 | ASSERT_EQ((std::tuple<int, int>{0, 2}), loc_to_xy(2)); | ||
| 68 | ASSERT_EQ((std::tuple<int, int>{0, 0}), loc_to_xy(3)); | ||
| 69 | } | ||
| 70 | |||
| 71 | TEST_F(PanelExtractionTests, 3x3) { | ||
| 72 | SetPanelSize(3, 3); | ||
| 73 | /* Here's the panel, with the correct location order | ||
| 74 | 2 . 3 (_width = 3) | ||
| 75 | . A . | ||
| 76 | 0 . 1 | ||
| 77 | (_height = 3) | ||
| 78 | */ | ||
| 79 | ASSERT_EQ(0, xy_to_loc(0, 2)); | ||
| 80 | ASSERT_EQ(1, xy_to_loc(2, 2)); | ||
| 81 | ASSERT_EQ(2, xy_to_loc(0, 0)); | ||
| 82 | ASSERT_EQ(3, xy_to_loc(2, 0)); | ||
| 83 | ASSERT_EQ((std::tuple<int, int>{0, 2}), loc_to_xy(0)); | ||
| 84 | ASSERT_EQ((std::tuple<int, int>{2, 2}), loc_to_xy(1)); | ||
| 85 | ASSERT_EQ((std::tuple<int, int>{0, 0}), loc_to_xy(2)); | ||
| 86 | ASSERT_EQ((std::tuple<int, int>{2, 0}), loc_to_xy(3)); | ||
| 87 | |||
| 88 | ASSERT_EQ(0, xy_to_dloc(1, 1)); | ||
| 89 | ASSERT_EQ((std::tuple<int, int>{1, 1}), dloc_to_xy(0)); | ||
| 90 | } | ||
| 91 | |||
| 92 | TEST_F(PanelExtractionTests, 7x5) { | ||
| 26 | SetPanelSize(7, 5); | 93 | SetPanelSize(7, 5); |
| 27 | /* Here's the panel, with the correct location order | 94 | /* Here's the panel, with the correct location order |
| 28 | 8 . 9 . 10. 11 (_width = 7) | 95 | 8 . 9 . 10. 11 (_width = 7) |
| 29 | . . . . . . . | 96 | . D . E . F . |
| 30 | 4 . 5 . 6 . 7 | 97 | 4 . 5 . 6 . 7 |
| 31 | . . . . . . . | 98 | . A . B . C . |
| 32 | 0 . 1 . 2 . 3 | 99 | 0 . 1 . 2 . 3 |
| 33 | (_height = 5) | 100 | (_height = 5) |
| 34 | */ | 101 | */ |
| @@ -36,28 +103,26 @@ TEST_F(PanelExtractionTests, LocToXY_7x5) { | |||
| 36 | ASSERT_EQ(1, xy_to_loc(2, 4)); | 103 | ASSERT_EQ(1, xy_to_loc(2, 4)); |
| 37 | ASSERT_EQ(2, xy_to_loc(4, 4)); | 104 | ASSERT_EQ(2, xy_to_loc(4, 4)); |
| 38 | ASSERT_EQ(3, xy_to_loc(6, 4)); | 105 | ASSERT_EQ(3, xy_to_loc(6, 4)); |
| 106 | ASSERT_EQ((std::tuple<int, int>{0, 4}), loc_to_xy(0)); | ||
| 107 | ASSERT_EQ((std::tuple<int, int>{2, 4}), loc_to_xy(1)); | ||
| 108 | ASSERT_EQ((std::tuple<int, int>{4, 4}), loc_to_xy(2)); | ||
| 109 | ASSERT_EQ((std::tuple<int, int>{6, 4}), loc_to_xy(3)); | ||
| 39 | 110 | ||
| 40 | ASSERT_EQ(4, xy_to_loc(0, 2)); | 111 | ASSERT_EQ(4, xy_to_loc(0, 2)); |
| 41 | ASSERT_EQ(5, xy_to_loc(2, 2)); | 112 | ASSERT_EQ(5, xy_to_loc(2, 2)); |
| 42 | ASSERT_EQ(6, xy_to_loc(4, 2)); | 113 | ASSERT_EQ(6, xy_to_loc(4, 2)); |
| 43 | ASSERT_EQ(7, xy_to_loc(6, 2)); | 114 | ASSERT_EQ(7, xy_to_loc(6, 2)); |
| 115 | ASSERT_EQ((std::tuple<int, int>{0, 2}), loc_to_xy(4)); | ||
| 116 | ASSERT_EQ((std::tuple<int, int>{2, 2}), loc_to_xy(5)); | ||
| 117 | ASSERT_EQ((std::tuple<int, int>{4, 2}), loc_to_xy(6)); | ||
| 118 | ASSERT_EQ((std::tuple<int, int>{6, 2}), loc_to_xy(7)); | ||
| 44 | 119 | ||
| 45 | ASSERT_EQ(8, xy_to_loc(0, 0)); | 120 | ASSERT_EQ(8, xy_to_loc(0, 0)); |
| 46 | ASSERT_EQ(9, xy_to_loc(2, 0)); | 121 | ASSERT_EQ(9, xy_to_loc(2, 0)); |
| 47 | ASSERT_EQ(10, xy_to_loc(4, 0)); | 122 | ASSERT_EQ(10, xy_to_loc(4, 0)); |
| 48 | ASSERT_EQ(11, xy_to_loc(6, 0)); | 123 | ASSERT_EQ(11, xy_to_loc(6, 0)); |
| 124 | ASSERT_EQ((std::tuple<int, int>{0, 0}), loc_to_xy(8)); | ||
| 125 | ASSERT_EQ((std::tuple<int, int>{2, 0}), loc_to_xy(9)); | ||
| 126 | ASSERT_EQ((std::tuple<int, int>{4, 0}), loc_to_xy(10)); | ||
| 127 | ASSERT_EQ((std::tuple<int, int>{6, 0}), loc_to_xy(11)); | ||
| 49 | } | 128 | } |
| 50 | |||
| 51 | TEST_F(PanelExtractionTests, LocToXY_3x3) { | ||
| 52 | SetPanelSize(3, 3); | ||
| 53 | /* Here's the panel, with the correct location order | ||
| 54 | 2 . 3 (_width = 3) | ||
| 55 | . . . | ||
| 56 | 0 . 1 | ||
| 57 | (_height = 3) | ||
| 58 | */ | ||
| 59 | ASSERT_EQ(0, xy_to_loc(0, 2)); | ||
| 60 | ASSERT_EQ(1, xy_to_loc(2, 2)); | ||
| 61 | ASSERT_EQ(2, xy_to_loc(0, 0)); | ||
| 62 | ASSERT_EQ(3, xy_to_loc(2, 0)); | ||
| 63 | } \ No newline at end of file | ||
