summaryrefslogtreecommitdiff
path: root/src/Coxeter_triangulation/test
diff options
context:
space:
mode:
authorROUVREAU Vincent <vincent.rouvreau@inria.fr>2021-04-21 11:22:18 +0200
committerROUVREAU Vincent <vincent.rouvreau@inria.fr>2021-04-21 11:22:18 +0200
commit130c3057bfef7c4c1e0ee0b1940c34bc2f9d6c33 (patch)
tree62040b56c2be36855961198ec62c53689e7ec470 /src/Coxeter_triangulation/test
parentfb2aca88ba373868fc3e67683258b1b98467d10d (diff)
coxeter requires eigen3. random_orthogonal_matrix requires CGAL
Diffstat (limited to 'src/Coxeter_triangulation/test')
-rw-r--r--src/Coxeter_triangulation/test/CMakeLists.txt49
-rw-r--r--src/Coxeter_triangulation/test/function_test.cpp12
-rw-r--r--src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp36
3 files changed, 65 insertions, 32 deletions
diff --git a/src/Coxeter_triangulation/test/CMakeLists.txt b/src/Coxeter_triangulation/test/CMakeLists.txt
index 175601f9..3da2410f 100644
--- a/src/Coxeter_triangulation/test/CMakeLists.txt
+++ b/src/Coxeter_triangulation/test/CMakeLists.txt
@@ -2,23 +2,32 @@ project(Coxeter_triangulation_test)
include(GUDHI_boost_test)
-add_executable ( Coxeter_triangulation_permutahedral_representation_test perm_rep_test.cpp )
-gudhi_add_boost_test(Coxeter_triangulation_permutahedral_representation_test)
-
-add_executable ( Coxeter_triangulation_freudenthal_triangulation_test freud_triang_test.cpp )
-gudhi_add_boost_test(Coxeter_triangulation_freudenthal_triangulation_test)
-
-add_executable ( Coxeter_triangulation_functions_test function_test.cpp )
-gudhi_add_boost_test(Coxeter_triangulation_functions_test)
-
-add_executable ( Coxeter_triangulation_oracle_test oracle_test.cpp )
-gudhi_add_boost_test(Coxeter_triangulation_oracle_test)
-
-add_executable ( Coxeter_triangulation_manifold_tracing_test manifold_tracing_test.cpp )
-gudhi_add_boost_test(Coxeter_triangulation_manifold_tracing_test)
-
-add_executable ( Coxeter_triangulation_cell_complex_test cell_complex_test.cpp )
-if (TBB_FOUND)
- target_link_libraries(Coxeter_triangulation_cell_complex_test ${TBB_LIBRARIES})
-endif()
-gudhi_add_boost_test(Coxeter_triangulation_cell_complex_test) \ No newline at end of file
+if (NOT EIGEN3_VERSION VERSION_LESS 3.1.0)
+ add_executable ( Coxeter_triangulation_permutahedral_representation_test perm_rep_test.cpp )
+ gudhi_add_boost_test(Coxeter_triangulation_permutahedral_representation_test)
+
+ add_executable ( Coxeter_triangulation_freudenthal_triangulation_test freud_triang_test.cpp )
+ gudhi_add_boost_test(Coxeter_triangulation_freudenthal_triangulation_test)
+
+ add_executable ( Coxeter_triangulation_functions_test function_test.cpp )
+ gudhi_add_boost_test(Coxeter_triangulation_functions_test)
+
+ # because of random_orthogonal_matrix inclusion
+ if (NOT CGAL_VERSION VERSION_LESS 4.11.0)
+ add_executable ( Coxeter_triangulation_random_orthogonal_matrix_function_test random_orthogonal_matrix_function_test.cpp )
+ target_link_libraries(Coxeter_triangulation_random_orthogonal_matrix_function_test ${CGAL_LIBRARY})
+ gudhi_add_boost_test(Coxeter_triangulation_random_orthogonal_matrix_function_test)
+ endif()
+
+ add_executable ( Coxeter_triangulation_oracle_test oracle_test.cpp )
+ gudhi_add_boost_test(Coxeter_triangulation_oracle_test)
+
+ add_executable ( Coxeter_triangulation_manifold_tracing_test manifold_tracing_test.cpp )
+ gudhi_add_boost_test(Coxeter_triangulation_manifold_tracing_test)
+
+ add_executable ( Coxeter_triangulation_cell_complex_test cell_complex_test.cpp )
+ if (TBB_FOUND)
+ target_link_libraries(Coxeter_triangulation_cell_complex_test ${TBB_LIBRARIES})
+ endif()
+ gudhi_add_boost_test(Coxeter_triangulation_cell_complex_test)
+endif() \ No newline at end of file
diff --git a/src/Coxeter_triangulation/test/function_test.cpp b/src/Coxeter_triangulation/test/function_test.cpp
index d3c8d46c..43dbcb75 100644
--- a/src/Coxeter_triangulation/test/function_test.cpp
+++ b/src/Coxeter_triangulation/test/function_test.cpp
@@ -27,7 +27,6 @@
#include <gudhi/Functions/Function_lemniscate_revolution_in_R3.h>
#include <gudhi/Functions/Function_iron_in_R3.h>
#include <gudhi/Functions/Function_moment_curve_in_Rd.h>
-#include <gudhi/Functions/random_orthogonal_matrix.h>
#include <gudhi/Functions/Embed_in_Rd.h>
#include <gudhi/Functions/Translate.h>
#include <gudhi/Functions/Linear_transformation.h>
@@ -111,17 +110,6 @@ BOOST_AUTO_TEST_CASE(function) {
test_function(fun_moment_curve);
}
{
- // random orthogonal matrix
- Eigen::MatrixXd matrix = random_orthogonal_matrix(5);
- Eigen::MatrixXd id_matrix = matrix.transpose() * matrix;
- for (std::size_t i = 0; i < 5; ++i)
- for (std::size_t j = 0; j < 5; ++j)
- if (i == j)
- GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 1.0, 1e-10);
- else
- GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 0.0, 1e-10);
- }
- {
// function embedding
Function_iron_in_R3 fun_iron;
auto fun_embed = make_embedding(fun_iron, 5);
diff --git a/src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp b/src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp
new file mode 100644
index 00000000..84178741
--- /dev/null
+++ b/src/Coxeter_triangulation/test/random_orthogonal_matrix_function_test.cpp
@@ -0,0 +1,36 @@
+/* This file is part of the Gudhi Library - https://gudhi.inria.fr/ - which is released under MIT.
+ * See file LICENSE or go to https://gudhi.inria.fr/licensing/ for full license details.
+ * Author(s): Siargey Kachanovich
+ *
+ * Copyright (C) 2019 Inria
+ *
+ * Modification(s):
+ * - YYYY/MM Author: Description of the modification
+ */
+
+#define BOOST_TEST_DYN_LINK
+#define BOOST_TEST_MODULE "random_orthogonal_matrix_function"
+#include <boost/test/unit_test.hpp>
+#include <gudhi/Unitary_tests_utils.h>
+
+#include <gudhi/Functions/random_orthogonal_matrix.h>
+
+#include <string>
+
+#include <random>
+#include <cstdlib>
+
+using namespace Gudhi::coxeter_triangulation;
+
+// this test is separated as it requires CGAL
+BOOST_AUTO_TEST_CASE(random_orthogonal_matrix_function) {
+ // random orthogonal matrix
+ Eigen::MatrixXd matrix = random_orthogonal_matrix(5);
+ Eigen::MatrixXd id_matrix = matrix.transpose() * matrix;
+ for (std::size_t i = 0; i < 5; ++i)
+ for (std::size_t j = 0; j < 5; ++j)
+ if (i == j)
+ GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 1.0, 1e-10);
+ else
+ GUDHI_TEST_FLOAT_EQUALITY_CHECK(id_matrix(i, j), 0.0, 1e-10);
+}