Complicate tests for PIVector2D::resize
This commit is contained in:
@@ -1,54 +1,66 @@
|
||||
#include "gtest/gtest.h"
|
||||
#include "pivector2d.h"
|
||||
|
||||
void assert_fill_with(PIVector2D<int> 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<int> 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<int> vec = PIVector2D<int>(ROWS_COUNT_INIT, COLS_COUNT_INIT);
|
||||
};
|
||||
|
||||
TEST(PIVector2D_Test, resize_is_increase_col_count) {
|
||||
PIVector2D<int> 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<int> 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<int> 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<int> 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<int> 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<int> 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);
|
||||
}
|
||||
Reference in New Issue
Block a user