add more tests
This commit is contained in:
@@ -652,6 +652,51 @@ TEST_F(Vector2DTest, transposed_returns_correct_dimensions) {
|
||||
}
|
||||
}
|
||||
|
||||
TEST(Vector2DTransposeTest, emptyMatrix_returnsEmpty) {
|
||||
PIVector2D<int> empty;
|
||||
auto transposed = empty.transposed();
|
||||
EXPECT_TRUE(transposed.isEmpty());
|
||||
EXPECT_EQ(transposed.rows(), 0);
|
||||
EXPECT_EQ(transposed.cols(), 0);
|
||||
}
|
||||
|
||||
TEST(Vector2DTransposeTest, singleElement_returnsSame) {
|
||||
PIVector2D<int> single(1, 1, 42);
|
||||
auto transposed = single.transposed();
|
||||
EXPECT_EQ(transposed.rows(), 1);
|
||||
EXPECT_EQ(transposed.cols(), 1);
|
||||
EXPECT_EQ(transposed.element(0, 0), 42);
|
||||
}
|
||||
|
||||
TEST(Vector2DTransposeTest, oneRow_becomesOneColumn) {
|
||||
PIVector2D<int> rowVec(1, 5);
|
||||
for (size_t c = 0; c < 5; ++c) rowVec.element(0, c) = static_cast<int>(c);
|
||||
auto transposed = rowVec.transposed();
|
||||
EXPECT_EQ(transposed.rows(), 5);
|
||||
EXPECT_EQ(transposed.cols(), 1);
|
||||
for (size_t r = 0; r < 5; ++r) {
|
||||
EXPECT_EQ(transposed.element(r, 0), static_cast<int>(r));
|
||||
}
|
||||
}
|
||||
|
||||
TEST(Vector2DTransposeTest, oneColumn_becomesOneRow) {
|
||||
PIVector2D<int> colVec(5, 1);
|
||||
for (size_t r = 0; r < 5; ++r) colVec.element(r, 0) = static_cast<int>(r);
|
||||
auto transposed = colVec.transposed();
|
||||
EXPECT_EQ(transposed.rows(), 1);
|
||||
EXPECT_EQ(transposed.cols(), 5);
|
||||
for (size_t c = 0; c < 5; ++c) {
|
||||
EXPECT_EQ(transposed.element(0, c), static_cast<int>(c));
|
||||
}
|
||||
}
|
||||
|
||||
TEST_F(Vector2DTest, transposed_doesNotModifyOriginal) {
|
||||
auto original = vec; // копия для сравнения
|
||||
auto transposed = vec.transposed();
|
||||
// Проверяем, что исходный массив не изменился
|
||||
EXPECT_EQ(vec, original);
|
||||
}
|
||||
|
||||
TEST_F(Vector2DTest, reverseRows_reverses_row_order) {
|
||||
auto original = vec;
|
||||
vec.reverseRows();
|
||||
|
||||
Reference in New Issue
Block a user