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) {
|
TEST_F(Vector2DTest, reverseRows_reverses_row_order) {
|
||||||
auto original = vec;
|
auto original = vec;
|
||||||
vec.reverseRows();
|
vec.reverseRows();
|
||||||
|
|||||||
Reference in New Issue
Block a user