/** * \file * \copyright * Copyright (c) 2012-2023, OpenGeoSys Community (http://www.opengeosys.org) * Distributed under a Modified BSD License. * See accompanying file LICENSE.txt or * http://www.opengeosys.org/project/license * */ #include #include #include "BaseLib/Algorithm.h" #include "MeshLib/Node.h" #include "MeshLib/Utils/GetSpaceDimension.h" // nodes on x axis TEST(MeshLib, GetSpaceDimensionOnXAxis) { std::vector nodes(2); nodes[0] = new MeshLib::Node(0.0, 0.0, 0.0, 0); nodes[1] = new MeshLib::Node(0.2, 0.0, 0.0, 1); auto const expected_space_dimension = 1u; ASSERT_EQ(expected_space_dimension, MeshLib::getSpaceDimension(nodes)); BaseLib::cleanupVectorElements(nodes); } // nodes on y axis TEST(MeshLib, GetSpaceDimensionOnYAxis) { std::vector nodes(2); nodes[0] = new MeshLib::Node(0.0, 0.0, 0.0, 0); nodes[1] = new MeshLib::Node(0.0, 2.0, 0.0, 1); auto const expected_space_dimension = 2u; ASSERT_EQ(expected_space_dimension, MeshLib::getSpaceDimension(nodes)); BaseLib::cleanupVectorElements(nodes); } // nodes on z axis TEST(MeshLib, GetSpaceDimensionOnZAxis) { std::vector nodes(2); nodes[0] = new MeshLib::Node(0.0, 0.0, 0.0, 0); nodes[1] = new MeshLib::Node(0.0, 0.0, 2.0, 1); auto const expected_space_dimension = 3u; ASSERT_EQ(expected_space_dimension, MeshLib::getSpaceDimension(nodes)); BaseLib::cleanupVectorElements(nodes); } // nodes on x-y plane TEST(MeshLib, GetSpaceDimensionOnXYPlane) { std::vector nodes(2); nodes[0] = new MeshLib::Node(-1.0, 0.0, 0.0, 0); nodes[1] = new MeshLib::Node(0.0, 2.0, 0.0, 1); auto const expected_space_dimension = 2u; ASSERT_EQ(expected_space_dimension, MeshLib::getSpaceDimension(nodes)); BaseLib::cleanupVectorElements(nodes); } // nodes on y-z plane TEST(MeshLib, GetSpaceDimensionOnYZPlane) { std::vector nodes(2); nodes[0] = new MeshLib::Node(0.0, -1.0, .0, 0); nodes[1] = new MeshLib::Node(0.0, 0.0, 2.0, 1); auto const expected_space_dimension = 3u; ASSERT_EQ(expected_space_dimension, MeshLib::getSpaceDimension(nodes)); BaseLib::cleanupVectorElements(nodes); } // nodes on x-z plane TEST(MeshLib, GetSpaceDimensionOnXZPlane) { std::vector nodes(2); nodes[0] = new MeshLib::Node(-1.0, 0.0, .0, 0); nodes[1] = new MeshLib::Node(0.0, 0.0, 2.0, 1); auto const expected_space_dimension = 3u; ASSERT_EQ(expected_space_dimension, MeshLib::getSpaceDimension(nodes)); BaseLib::cleanupVectorElements(nodes); } // nodes in 3D space TEST(MeshLib, GetSpaceDimensionIn3DSpace) { std::vector nodes(3); nodes[0] = new MeshLib::Node(-1.0, 1.0, .0, 0); nodes[1] = new MeshLib::Node(0.0, 3.0, 2.0, 1); nodes[2] = new MeshLib::Node(1.0, 0.0, 2.0, 1); auto const expected_space_dimension = 3u; ASSERT_EQ(expected_space_dimension, MeshLib::getSpaceDimension(nodes)); BaseLib::cleanupVectorElements(nodes); }