From 45016b11db1fbf30f392c7a5d341b61eb8d78140 Mon Sep 17 00:00:00 2001 From: Lukas Cejka <lukas.ostatek@gmail.com> Date: Mon, 5 Nov 2018 18:02:40 +0100 Subject: [PATCH] Added test for addElement function without thisElementMultiplicator testing implemeneted. --- src/UnitTests/Matrices/SparseMatrixTest.h | 42 ++++++++++++++++++++++- 1 file changed, 41 insertions(+), 1 deletion(-) diff --git a/src/UnitTests/Matrices/SparseMatrixTest.h b/src/UnitTests/Matrices/SparseMatrixTest.h index aaeda4cd78..47385249bb 100644 --- a/src/UnitTests/Matrices/SparseMatrixTest.h +++ b/src/UnitTests/Matrices/SparseMatrixTest.h @@ -23,7 +23,7 @@ * setElementFast() ::TEST? How to test __cuda_callable__? * setElement() ::DONE * addElementFast() ::TEST? How to test __cuda_callable__? - * addElement() + * addElement() ::HOW? How to use the thisElementMultiplicator? Does it need testing? * setRowFast() ::TEST? How to test __cuda_callable__? * setRow() * addRowFast() ::TEST? How to test __cuda_callable__? @@ -198,6 +198,34 @@ void test_SetElement() EXPECT_EQ( m.getElement( 4, 4 ), 5 ); } +template< typename Matrix > +void test_AddElement() +{ + const int rows = 6; + const int cols = 5; + + Matrix m; + m.reset(); + m.setDimensions( rows, cols ); + typename Matrix::CompressedRowLengthsVector rowLengths; + rowLengths.setSize( rows ); + rowLengths.setValue( 3 ); + m.setCompressedRowLengths( rowLengths ); + + int value = 1; + for( int i = 0; i < rows; i++ ) + m.addElement( i, 0, value++, 0.0 ); + + m.addElement( 0, 4, 1, 0.0 ); + + EXPECT_EQ( m.getElement( 0, 0 ), 1 ); + EXPECT_EQ( m.getElement( 1, 0 ), 2 ); + EXPECT_EQ( m.getElement( 2, 0 ), 3 ); + EXPECT_EQ( m.getElement( 3, 0 ), 4 ); + EXPECT_EQ( m.getElement( 4, 0 ), 5 ); + EXPECT_EQ( m.getElement( 5, 0 ), 6 ); +} + TEST( SparseMatrixTest, CSR_GetTypeTest_Host ) { host_test_GetType< CSR_host_float, CSR_host_int >(); @@ -270,6 +298,18 @@ TEST( SparseMatrixTest, CSR_setElementTest_Cuda ) } #endif +TEST( SparseMatrixTest, CSR_addElementTest_Host ) +{ + test_AddElement< CSR_host_int >(); +} + +#ifdef HAVE_CUDA +TEST( SparseMatrixTest, CSR_addElementTest_Cuda ) +{ + test_AddElement< CSR_cuda_int >(); +} +#endif + #endif #include "../GtestMissingError.h" -- GitLab