Skip to content

Commit 88d7875

Browse files
committed
add a unit test
1 parent 3b0c3c3 commit 88d7875

1 file changed

Lines changed: 23 additions & 0 deletions

File tree

kratos/tests/cpp_tests/utilities/test_data_type_traits.cpp

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1058,6 +1058,29 @@ KRATOS_TEST_CASE_IN_SUITE(DataTypeTraitsNestedDenseMatrixCopyToContiguousDataWit
10581058

10591059
}
10601060

1061+
KRATOS_TEST_CASE_IN_SUITE(DataTypeTraitsDenseMatrixCopyToFromContiguousDataWithShape, KratosCoreFastSuite)
1062+
{
1063+
DenseMatrix<double> input(5, 2);
1064+
for (unsigned int i = 0; i < 10; ++i) {
1065+
*(input.data().begin() + i) = i;
1066+
}
1067+
1068+
std::vector<unsigned int> shape = {5, 2};
1069+
std::vector<double> contiguous_data(10);
1070+
DataTypeTraits<DenseMatrix<double>>::CopyToContiguousData(contiguous_data.data(), input, shape.begin(), shape.end());
1071+
1072+
for (unsigned int i = 0; i < 10; ++i) {
1073+
KRATOS_EXPECT_EQ(contiguous_data[i], i);
1074+
}
1075+
1076+
DenseMatrix<double> output(5, 2);
1077+
DataTypeTraits<DenseMatrix<double>>::CopyFromContiguousData(output, contiguous_data.data(), shape.begin(), shape.end());
1078+
1079+
for (unsigned int i = 0; i < 10; ++i) {
1080+
KRATOS_EXPECT_EQ(*(input.data().begin() + i), *(output.data().begin() + i));
1081+
}
1082+
}
1083+
10611084
KRATOS_TEST_CASE_IN_SUITE(DataTypeTraitsNestedDenseMatrixCopyFromContiguousDataWithShape, KratosCoreFastSuite)
10621085
{
10631086
using data_type_traits = DataTypeTraits<std::vector<DenseMatrix<array_1d<std::vector<DenseVector<array_1d<int, 3>>>, 10>>>>;

0 commit comments

Comments
 (0)