diff --git a/src/UnitTests/Matrices/SymmetricSparseMatrixTest.h b/src/UnitTests/Matrices/SymmetricSparseMatrixTest.h
index 659f555c3e5e226aa1256dd89f139d5ffcf64e55..5582b138ddf3173ecbde7ecf9cee9e73a6acf69c 100644
--- a/src/UnitTests/Matrices/SymmetricSparseMatrixTest.h
+++ b/src/UnitTests/Matrices/SymmetricSparseMatrixTest.h
@@ -12,7 +12,7 @@
 #include <gtest/gtest.h>
 #include <iostream>
 #include <TNL/Matrices/SparseMatrix.h>
-#include "SparseMatrixTest.hpp"
+#include "SymmetricSparseMatrixTest.hpp"
 
 // test fixture for typed tests
 template< typename Matrix >
@@ -24,13 +24,6 @@ protected:
 
 TYPED_TEST_SUITE( MatrixTest, MatrixTypes);
 
-TYPED_TEST( MatrixTest, Constructors )
-{
-    using MatrixType = typename TestFixture::MatrixType;
-
-    test_Constructors< MatrixType >();
-}
-
 TYPED_TEST( MatrixTest, setDimensionsTest )
 {
     using MatrixType = typename TestFixture::MatrixType;
@@ -110,5 +103,3 @@ TYPED_TEST( MatrixTest, printTest )
 }
 
 #endif
-
-#include "../main.h"
diff --git a/src/UnitTests/Matrices/SymmetricSparseMatrixTest.hpp b/src/UnitTests/Matrices/SymmetricSparseMatrixTest.hpp
index 8593ff3f13c877a361a626850b2627906f3b0a3d..75b121060a93c760442d7a4dc61e909c357a6630 100644
--- a/src/UnitTests/Matrices/SymmetricSparseMatrixTest.hpp
+++ b/src/UnitTests/Matrices/SymmetricSparseMatrixTest.hpp
@@ -177,13 +177,13 @@ void test_GetNumberOfNonzeroMatrixElements()
       { 0, 0,  1 },
       { 1, 0,  2 }, { 1, 1,  3 },
       { 2, 0,  4 }, { 2, 1,  5 }, {  2, 2,  6 },
-      { 3, 0,  7 }, { 3, 1,  8 },              , { 3, 3,  9 },
+      { 3, 0,  7 }, { 3, 1,  8 },                { 3, 3,  9 },
                     { 4, 1, 10 }, {  4, 2, 11 },               { 4, 4, 12 },
                     { 5, 1, 13 }, {  5, 2, 14 },                              {  5, 5, 15 },
                     { 6, 1, 16 },                { 6, 3, 17 },                              { 6, 6, 18 },
                     { 7, 1, 19 },                { 7, 3, 20 },                                            { 7, 7, 21 },
                                   {  8, 2, 22 },               { 8, 4, 23 },                                           { 8, 8, 24 },
-                                  {  9, 2, 25 },               { 9, 4, 26 },                                                         { 9, 9, 27 }
+                                  {  9, 2, 25 },               { 9, 4, 26 },                                                         { 9, 9, 27 },
                                   { 10, 2, 28 },                              { 10, 4, 29 },                                                      { 10, 10, 30 }
    } );
 
@@ -260,7 +260,7 @@ void test_GetRow()
          case 10: row.setElement( 0, 2, 28 ); row.setElement( 1, 5, 29 ); row.setElement( 2, 10, 30 ); break;
       }
    };
-   TNL::Algorithms::ParallelFor< DeviceType >::exec( ( IndexType ) 0, rows, f );
+   TNL::Algorithms::ParallelFor< DeviceType >::exec( ( IndexType ) 0, m.getRows(), f );
 
    EXPECT_EQ( m.getElement( 0,  0 ),  1 );
    EXPECT_EQ( m.getElement( 0,  1 ),  2 );
@@ -692,8 +692,8 @@ void test_VectorProduct()
                    { 2, 1, 3 },
                    { 3, 1, 4 }, { 3, 2, 5 } } );
 
-   VectorType inVector_1( m_cols, 2 );
-   VectorType outVector_1( m_rows, 1 );
+   VectorType inVector_1( m_cols_1, 2.0 );
+   VectorType outVector_1( m_rows_1, 0.0 );
    m_1.vectorProduct( inVector_1, outVector_1 );
 
    EXPECT_EQ( outVector_1.getElement( 0 ),  2 );
@@ -823,7 +823,7 @@ void test_VectorProduct()
                                                                                                       { 7, 7, 14 }
    } );
 
-   VectorType inVector_5( m_cols_5, { 1, 2, 3, 4, 5, 6, 7, 8 } );
+   VectorType inVector_5( { 1, 2, 3, 4, 5, 6, 7, 8 } );
    VectorType outVector_5( m_rows_5, 0.0 );
    m_5.vectorProduct( inVector_5, outVector_5 );
 
@@ -873,7 +873,8 @@ void test_RowsReduction()
 
    ////
    // Compute number of non-zero elements in rows.
-   typename Matrix::RowsCapacitiesType rowLengths( rows );
+   typename Matrix::RowsCapacitiesType rowLengths( m_rows_5 );
+   typename Matrix::RowsCapacitiesType rowLengths_true( { 1, 1, 4, 4, 4, 4, 1, 1 } );
    auto rowLengths_view = rowLengths.getView();
    auto fetch = [] __cuda_callable__ ( IndexType row, IndexType column, IndexType globalIdx, const RealType& value ) -> IndexType {
       return ( value != 0.0 );
@@ -884,14 +885,15 @@ void test_RowsReduction()
    auto keep = [=] __cuda_callable__ ( const IndexType rowIdx, const IndexType value ) mutable {
       rowLengths_view[ rowIdx ] = value;
    };
-   m.allRowsReduction( fetch, reduce, keep, 0 );
-   EXPECT_EQ( rowsCapacities, rowLengths );
-   m.getCompressedRowLengths( rowLengths );
-   EXPECT_EQ( rowsCapacities, rowLengths );
+   m_5.allRowsReduction( fetch, reduce, keep, 0 );
+
+   EXPECT_EQ( rowLengths_true, rowLengths );
+   m_5.getCompressedRowLengths( rowLengths );
+   EXPECT_EQ( rowLengths_true, rowLengths );
 
    ////
    // Compute max norm
-   TNL::Containers::Vector< RealType, DeviceType, IndexType > rowSums( rows );
+   TNL::Containers::Vector< RealType, DeviceType, IndexType > rowSums( m_5.getRows() );
    auto rowSums_view = rowSums.getView();
    auto max_fetch = [] __cuda_callable__ ( IndexType row, IndexType column, IndexType globalIdx, const RealType& value ) -> IndexType {
       return abs( value );
@@ -902,7 +904,7 @@ void test_RowsReduction()
    auto max_keep = [=] __cuda_callable__ ( const IndexType rowIdx, const IndexType value ) mutable {
       rowSums_view[ rowIdx ] = value;
    };
-   m.allRowsReduction( max_fetch, max_reduce, max_keep, 0 );
+   m_5.allRowsReduction( max_fetch, max_reduce, max_keep, 0 );
    const RealType maxNorm = TNL::max( rowSums );
    EXPECT_EQ( maxNorm, 260 ) ; // 29+30+31+32+33+34+35+36
 }
@@ -999,41 +1001,41 @@ void test_SaveAndLoad( const char* filename )
                                                           { 5, 5, 10 } } );
 
    // Check the set elements
-   EXPECT_EQ( m.getElement( 0, 0 ),  1 );
-   EXPECT_EQ( m.getElement( 0, 1 ),  2 );
-   EXPECT_EQ( m.getElement( 0, 2 ),  0 );
-   EXPECT_EQ( m.getElement( 0, 3 ),  0 );
-   EXPECT_EQ( m.getElement( 0, 4 ),  0 );
-
-   EXPECT_EQ( m.getElement( 1, 0 ),  2 );
-   EXPECT_EQ( m.getElement( 1, 1 ),  3 );
-   EXPECT_EQ( m.getElement( 1, 2 ),  4 );
-   EXPECT_EQ( m.getElement( 1, 3 ),  0 );
-   EXPECT_EQ( m.getElement( 1, 4 ),  0 );
-
-   EXPECT_EQ( m.getElement( 2, 0 ),  0 );
-   EXPECT_EQ( m.getElement( 2, 1 ),  4 );
-   EXPECT_EQ( m.getElement( 2, 2 ),  5 );
-   EXPECT_EQ( m.getElement( 2, 3 ),  6 );
-   EXPECT_EQ( m.getElement( 2, 4 ),  0 );
-
-   EXPECT_EQ( m.getElement( 3, 0 ),  0 );
-   EXPECT_EQ( m.getElement( 3, 1 ),  0 );
-   EXPECT_EQ( m.getElement( 3, 2 ),  6 );
-   EXPECT_EQ( m.getElement( 3, 3 ),  7 );
-   EXPECT_EQ( m.getElement( 3, 4 ),  8 );
-
-   EXPECT_EQ( m.getElement( 4, 0 ),  0 );
-   EXPECT_EQ( m.getElement( 4, 1 ),  0 );
-   EXPECT_EQ( m.getElement( 4, 2 ),  0 );
-   EXPECT_EQ( m.getElement( 4, 3 ),  8 );
-   EXPECT_EQ( m.getElement( 4, 4 ),  9 );
-
-   EXPECT_EQ( m.getElement( 5, 0 ),  0 );
-   EXPECT_EQ( m.getElement( 5, 1 ),  0 );
-   EXPECT_EQ( m.getElement( 5, 2 ),  0 );
-   EXPECT_EQ( m.getElement( 5, 3 ),  0 );
-   EXPECT_EQ( m.getElement( 5, 4 ), 10 );
+   EXPECT_EQ( savedMatrix.getElement( 0, 0 ),  1 );
+   EXPECT_EQ( savedMatrix.getElement( 0, 1 ),  2 );
+   EXPECT_EQ( savedMatrix.getElement( 0, 2 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 0, 3 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 0, 4 ),  0 );
+
+   EXPECT_EQ( savedMatrix.getElement( 1, 0 ),  2 );
+   EXPECT_EQ( savedMatrix.getElement( 1, 1 ),  3 );
+   EXPECT_EQ( savedMatrix.getElement( 1, 2 ),  4 );
+   EXPECT_EQ( savedMatrix.getElement( 1, 3 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 1, 4 ),  0 );
+
+   EXPECT_EQ( savedMatrix.getElement( 2, 0 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 2, 1 ),  4 );
+   EXPECT_EQ( savedMatrix.getElement( 2, 2 ),  5 );
+   EXPECT_EQ( savedMatrix.getElement( 2, 3 ),  6 );
+   EXPECT_EQ( savedMatrix.getElement( 2, 4 ),  0 );
+
+   EXPECT_EQ( savedMatrix.getElement( 3, 0 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 3, 1 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 3, 2 ),  6 );
+   EXPECT_EQ( savedMatrix.getElement( 3, 3 ),  7 );
+   EXPECT_EQ( savedMatrix.getElement( 3, 4 ),  8 );
+
+   EXPECT_EQ( savedMatrix.getElement( 4, 0 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 4, 1 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 4, 2 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 4, 3 ),  8 );
+   EXPECT_EQ( savedMatrix.getElement( 4, 4 ),  9 );
+
+   EXPECT_EQ( savedMatrix.getElement( 5, 0 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 5, 1 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 5, 2 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 5, 3 ),  0 );
+   EXPECT_EQ( savedMatrix.getElement( 5, 4 ), 10 );
 
    ASSERT_NO_THROW( savedMatrix.save( filename ) );
 
diff --git a/src/UnitTests/Matrices/SymmetricSparseMatrixTest_CSR.h b/src/UnitTests/Matrices/SymmetricSparseMatrixTest_CSR.h
index bbb6c66cb604a17bc415ea64d582b3eaec2ea304..45dd5e5b9522a378ee247ba212bc6fcf138a7915 100644
--- a/src/UnitTests/Matrices/SymmetricSparseMatrixTest_CSR.h
+++ b/src/UnitTests/Matrices/SymmetricSparseMatrixTest_CSR.h
@@ -14,12 +14,12 @@
 #include <TNL/Matrices/SparseMatrix.h>
 
 // test fixture for typed tests
-template< typename Matrix >
-class MatrixTest : public ::testing::Test
-{
-protected:
-   using MatrixType = Matrix;
-};
+//template< typename Matrix >
+//class MatrixTest : public ::testing::Test
+//{
+//protected:
+//   using MatrixType = Matrix;
+//};
 
 // types for which MatrixTest is instantiated
 using MatrixTypes = ::testing::Types
@@ -52,9 +52,9 @@ using MatrixTypes = ::testing::Types
 #endif // HAVE_CUDA
 >;
 
-const char* saveAndLoadTestFileName "test_SymmetricSparseMatrixTest_CSR_segments";
+const char* saveAndLoadTestFileName = "test_SymmetricSparseMatrixTest_CSR_segments";
 
-#include "SparseMatrixTest.h"
+#include "SymmetricSparseMatrixTest.h"
 
 #endif // HAVE_GTEST