Commit 721bfb8e authored by Jakub Klinkovský's avatar Jakub Klinkovský
Browse files

Added string representation comparison test for meshes

parent 1d0b1c5d
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
#pragma once

#ifdef HAVE_GTEST
#include <sstream>

#include <TNL/Meshes/Mesh.h>
#include <TNL/Meshes/MeshEntity.h>
#include <TNL/Meshes/MeshConfigBase.h>
@@ -56,6 +58,15 @@ public:
   template< typename EntityTopology > static constexpr bool superentityStorage( EntityTopology, int SuperentityDimensions ) { return true; };
};

template< typename Object1, typename Object2 >
void compareStringRepresentation( const Object1& obj1, const Object2& obj2 )
{
   std::stringstream str1, str2;
   str1 << obj1;
   str2 << obj2;
   EXPECT_EQ( str1.str(), str2.str() );
}

TEST( MeshTest, TwoTrianglesTest )
{
   using TriangleMeshEntityType = MeshEntity< TestTriangleMeshConfig, MeshTriangleTopology >;
@@ -171,6 +182,7 @@ TEST( MeshTest, TwoTrianglesTest )
   ASSERT_TRUE( mesh.save( "mesh.tnl" ) );
   ASSERT_TRUE( mesh2.load( "mesh.tnl" ) );
   ASSERT_EQ( mesh, mesh2 );
   compareStringRepresentation( mesh, mesh2 );
};

TEST( MeshTest, TetrahedronsTest )
@@ -339,6 +351,7 @@ TEST( MeshTest, TetrahedronsTest )
   ASSERT_TRUE( mesh.save( "mesh.tnl" ) );
   ASSERT_TRUE( mesh2.load( "mesh.tnl" ) );
   ASSERT_EQ( mesh, mesh2 );
   compareStringRepresentation( mesh, mesh2 );
}

TEST( MeshTest, RegularMeshOfTrianglesTest )
@@ -441,6 +454,7 @@ TEST( MeshTest, RegularMeshOfTrianglesTest )
   ASSERT_TRUE( mesh.save( "mesh.tnl" ) );
   ASSERT_TRUE( mesh2.load( "mesh.tnl" ) );
   ASSERT_EQ( mesh, mesh2 );
   compareStringRepresentation( mesh, mesh2 );
}

TEST( MeshTest, RegularMeshOfQuadrilateralsTest )
@@ -540,6 +554,7 @@ TEST( MeshTest, RegularMeshOfQuadrilateralsTest )
   ASSERT_TRUE( mesh.save( "mesh.tnl" ) );
   ASSERT_TRUE( mesh2.load( "mesh.tnl" ) );
   ASSERT_EQ( mesh, mesh2 );
   compareStringRepresentation( mesh, mesh2 );
}

TEST( MeshTest, RegularMeshOfHexahedronsTest )
@@ -706,6 +721,7 @@ TEST( MeshTest, RegularMeshOfHexahedronsTest )
   ASSERT_TRUE( mesh.save( "mesh.tnl" ) );
   ASSERT_TRUE( mesh2.load( "mesh.tnl" ) );
   ASSERT_EQ( mesh, mesh2 );
   compareStringRepresentation( mesh, mesh2 );
}

#endif