From 16f22f38c7db10cd6bc1fc4a3bed9fd5b549f14f Mon Sep 17 00:00:00 2001 From: Stepan Fomenko Date: Mon, 19 Oct 2020 16:27:42 +0300 Subject: [PATCH 1/3] Simple PIVector2D resize tests --- tests/math/testpivector2d.cpp | 54 +++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) create mode 100644 tests/math/testpivector2d.cpp diff --git a/tests/math/testpivector2d.cpp b/tests/math/testpivector2d.cpp new file mode 100644 index 00000000..daf710b1 --- /dev/null +++ b/tests/math/testpivector2d.cpp @@ -0,0 +1,54 @@ +#include "gtest/gtest.h" +#include "pivector2d.h" + +void assert_fill_with(PIVector2D vec, int rows, int cols, int val) { + for(int r = 0; r < rows; r++) { + for(int c = 0; c < cols; c++) { + ASSERT_EQ(vec.element(r, c), val); + } + } +} + +int ROWS_COUNT_INIT = 200; +int ROWS_COUNT_INCREASE = 300; +int ROWS_COUNT_REDUCE = 100; + +int COLS_COUNT_INIT = 200; +int COLS_COUNT_INCREASE = 300; +int COLS_COUNT_REDUCE = 100; + +TEST(PIVector2D_Test, resize_is_increase_col_count) { + PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); + vec.resize(ROWS_COUNT_INIT, COLS_COUNT_INCREASE, 0); + ASSERT_EQ(vec.cols(), COLS_COUNT_INCREASE); +} + +TEST(PIVector2D_Test, resize_is_reduce_col_count) { + PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); + vec.resize(ROWS_COUNT_INIT, COLS_COUNT_REDUCE, 0); + ASSERT_EQ(vec.cols(), COLS_COUNT_REDUCE); +} + +TEST(PIVector2D_Test, resize_is_increase_rows_count) { + PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); + vec.resize(ROWS_COUNT_INCREASE, COLS_COUNT_INIT, 0); + ASSERT_EQ(vec.rows(), ROWS_COUNT_INCREASE); +} + +TEST(PIVector2D_Test, resize_is_reduce_rows_count) { + PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); + vec.resize(ROWS_COUNT_REDUCE, COLS_COUNT_INIT, 0); + ASSERT_EQ(vec.rows(), ROWS_COUNT_REDUCE); +} + +TEST(PIVector2D_Test, resize_increase_is_data_stay_consistent) { + PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); + vec.resize(ROWS_COUNT_INCREASE, COLS_COUNT_INCREASE, 0); + assert_fill_with(vec, ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); +} + +TEST(PIVector2D_Test, resize_reduce_is_data_stay_consistent) { + PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); + vec.resize(ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE, 0); + assert_fill_with(vec, ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE, INT32_MAX); +} \ No newline at end of file From b6430c0863f20c9ca5f2d55eff0574ed2c0687fd Mon Sep 17 00:00:00 2001 From: Stepan Fomenko Date: Mon, 19 Oct 2020 16:47:54 +0300 Subject: [PATCH 2/3] Complicate tests for PIVector2D::resize --- tests/math/testpivector2d.cpp | 56 +++++++++++++++++++++-------------- 1 file changed, 34 insertions(+), 22 deletions(-) diff --git a/tests/math/testpivector2d.cpp b/tests/math/testpivector2d.cpp index daf710b1..0657f8df 100644 --- a/tests/math/testpivector2d.cpp +++ b/tests/math/testpivector2d.cpp @@ -1,54 +1,66 @@ #include "gtest/gtest.h" #include "pivector2d.h" -void assert_fill_with(PIVector2D vec, int rows, int cols, int val) { +int ROWS_COUNT_INIT = 4; +int ROWS_COUNT_INCREASE = 6; +int ROWS_COUNT_REDUCE = 2; + +int COLS_COUNT_INIT = 4; +int COLS_COUNT_INCREASE = 6; +int COLS_COUNT_REDUCE = 2; + +void assert_fill_with(PIVector2D vec, int rows, int cols) { for(int r = 0; r < rows; r++) { for(int c = 0; c < cols; c++) { - ASSERT_EQ(vec.element(r, c), val); + ASSERT_EQ(vec.element(r, c), r * COLS_COUNT_INIT + c); } } } -int ROWS_COUNT_INIT = 200; -int ROWS_COUNT_INCREASE = 300; -int ROWS_COUNT_REDUCE = 100; +class Vector2D : public ::testing::Test { +protected: + void SetUp() override { + for (int r = 0; r < ROWS_COUNT_INIT; ++r) { + for (int c = 0; c < COLS_COUNT_INIT; ++c) { + vec.element(r, c) = r * COLS_COUNT_INIT + c; + } + } + } -int COLS_COUNT_INIT = 200; -int COLS_COUNT_INCREASE = 300; -int COLS_COUNT_REDUCE = 100; + PIVector2D vec = PIVector2D(ROWS_COUNT_INIT, COLS_COUNT_INIT); +}; -TEST(PIVector2D_Test, resize_is_increase_col_count) { - PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); +TEST_F(Vector2D, resize_is_increase_col_count) { vec.resize(ROWS_COUNT_INIT, COLS_COUNT_INCREASE, 0); ASSERT_EQ(vec.cols(), COLS_COUNT_INCREASE); } -TEST(PIVector2D_Test, resize_is_reduce_col_count) { - PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); +TEST_F(Vector2D, resize_is_reduce_col_count) { vec.resize(ROWS_COUNT_INIT, COLS_COUNT_REDUCE, 0); ASSERT_EQ(vec.cols(), COLS_COUNT_REDUCE); } -TEST(PIVector2D_Test, resize_is_increase_rows_count) { - PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); +TEST_F(Vector2D, resize_is_increase_rows_count) { vec.resize(ROWS_COUNT_INCREASE, COLS_COUNT_INIT, 0); ASSERT_EQ(vec.rows(), ROWS_COUNT_INCREASE); } -TEST(PIVector2D_Test, resize_is_reduce_rows_count) { - PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); +TEST_F(Vector2D, resize_is_reduce_rows_count) { vec.resize(ROWS_COUNT_REDUCE, COLS_COUNT_INIT, 0); ASSERT_EQ(vec.rows(), ROWS_COUNT_REDUCE); } -TEST(PIVector2D_Test, resize_increase_is_data_stay_consistent) { - PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); +TEST_F(Vector2D, resize_increase_is_data_stay_consistent) { vec.resize(ROWS_COUNT_INCREASE, COLS_COUNT_INCREASE, 0); - assert_fill_with(vec, ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); + assert_fill_with(vec, ROWS_COUNT_INIT, COLS_COUNT_INIT); } -TEST(PIVector2D_Test, resize_reduce_is_data_stay_consistent) { - PIVector2D vec(ROWS_COUNT_INIT, COLS_COUNT_INIT, INT32_MAX); +TEST_F(Vector2D, resize_reduce_is_data_stay_consistent) { + piCout << "Before:"; + piCout << vec; + piCout << ""; vec.resize(ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE, 0); - assert_fill_with(vec, ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE, INT32_MAX); + piCout << "After:"; + piCout << vec; + assert_fill_with(vec, ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE); } \ No newline at end of file From ac911d9b3e47b362081ecc59f151548d29eb4330 Mon Sep 17 00:00:00 2001 From: Stepan Fomenko Date: Mon, 19 Oct 2020 17:34:51 +0300 Subject: [PATCH 3/3] Increase reduce cols tests granularity --- tests/math/testpivector2d.cpp | 54 ++++++++++++++++++++++++----------- 1 file changed, 38 insertions(+), 16 deletions(-) diff --git a/tests/math/testpivector2d.cpp b/tests/math/testpivector2d.cpp index 0657f8df..9a42f8ed 100644 --- a/tests/math/testpivector2d.cpp +++ b/tests/math/testpivector2d.cpp @@ -1,12 +1,12 @@ #include "gtest/gtest.h" #include "pivector2d.h" -int ROWS_COUNT_INIT = 4; -int ROWS_COUNT_INCREASE = 6; +int ROWS_COUNT_INIT = 3; +int ROWS_COUNT_INCREASE = 4; int ROWS_COUNT_REDUCE = 2; -int COLS_COUNT_INIT = 4; -int COLS_COUNT_INCREASE = 6; +int COLS_COUNT_INIT = 3; +int COLS_COUNT_INCREASE = 4; int COLS_COUNT_REDUCE = 2; void assert_fill_with(PIVector2D vec, int rows, int cols) { @@ -19,6 +19,8 @@ void assert_fill_with(PIVector2D vec, int rows, int cols) { class Vector2D : public ::testing::Test { protected: + PIVector2D vec = PIVector2D(ROWS_COUNT_INIT, COLS_COUNT_INIT); + void SetUp() override { for (int r = 0; r < ROWS_COUNT_INIT; ++r) { for (int c = 0; c < COLS_COUNT_INIT; ++c) { @@ -27,7 +29,26 @@ protected: } } - PIVector2D vec = PIVector2D(ROWS_COUNT_INIT, COLS_COUNT_INIT); + void resize_reduce_is_data_stay_consistent(int newRowsCount, int newColsCount) { + piCout << "Before:"; + piCout << vec; + piCout << ""; + vec.resize(newRowsCount, newColsCount, 0); + piCout << "After:"; + piCout << vec; + assert_fill_with(vec, newRowsCount, newColsCount); + } + + void resize_increase_is_data_stay_consistent(int newRowsCount, int newColsCount) { + vec.resize(newRowsCount, newColsCount, 0); + assert_fill_with(vec, ROWS_COUNT_INIT, COLS_COUNT_INIT); + + for (int r = ROWS_COUNT_INIT; r < newRowsCount; ++r) { + for (int c = COLS_COUNT_INIT; c < newColsCount; ++c) { + ASSERT_EQ(vec.element(r, c), 0); + } + } + } }; TEST_F(Vector2D, resize_is_increase_col_count) { @@ -50,17 +71,18 @@ TEST_F(Vector2D, resize_is_reduce_rows_count) { ASSERT_EQ(vec.rows(), ROWS_COUNT_REDUCE); } -TEST_F(Vector2D, resize_increase_is_data_stay_consistent) { - vec.resize(ROWS_COUNT_INCREASE, COLS_COUNT_INCREASE, 0); - assert_fill_with(vec, ROWS_COUNT_INIT, COLS_COUNT_INIT); +TEST_F(Vector2D, resize_increase_both_is_data_stay_consistent) { + resize_increase_is_data_stay_consistent(ROWS_COUNT_INCREASE, COLS_COUNT_INCREASE); } -TEST_F(Vector2D, resize_reduce_is_data_stay_consistent) { - piCout << "Before:"; - piCout << vec; - piCout << ""; - vec.resize(ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE, 0); - piCout << "After:"; - piCout << vec; - assert_fill_with(vec, ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE); +TEST_F(Vector2D, resize_reduce_cols_is_data_stay_consistent) { + resize_reduce_is_data_stay_consistent(ROWS_COUNT_INIT, COLS_COUNT_REDUCE); +} + +TEST_F(Vector2D, resize_reduce_rows_is_data_stay_consistent) { + resize_reduce_is_data_stay_consistent(ROWS_COUNT_REDUCE, COLS_COUNT_INIT); +} + +TEST_F(Vector2D, resize_reduce_both_is_data_stay_consistent) { + resize_reduce_is_data_stay_consistent(ROWS_COUNT_REDUCE, COLS_COUNT_REDUCE); } \ No newline at end of file