From e2c0166fcbf17e91cf5ed7b6159f80d64b49cc0b Mon Sep 17 00:00:00 2001 From: pdlotko Date: Mon, 14 Aug 2017 19:43:45 +0000 Subject: Adding a code that use Clement's procedure to read files. Correcting some samll errors. Now the code is ready. git-svn-id: svn+ssh://scm.gforge.inria.fr/svnroot/gudhi/branches/persistence_representation_integration@2610 636b058d-ea47-450e-bf9e-a15bfbe3eedb Former-commit-id: b2947d1c484d661eca6c32fe5386461e741b76f9 --- .../test/persistence_intervals_test.cpp | 3 +- .../test/persistence_lanscapes_on_grid_test.cpp | 4 +-- .../test/persistence_lanscapes_test.cpp | 40 +++++++++++++++++----- .../test/read_persistence_from_file_test.cpp | 15 ++++---- .../test/vector_representation_test.cpp | 5 +-- 5 files changed, 45 insertions(+), 22 deletions(-) (limited to 'src/Persistence_representations/test') diff --git a/src/Persistence_representations/test/persistence_intervals_test.cpp b/src/Persistence_representations/test/persistence_intervals_test.cpp index 51d8a0f9..545330c4 100644 --- a/src/Persistence_representations/test/persistence_intervals_test.cpp +++ b/src/Persistence_representations/test/persistence_intervals_test.cpp @@ -36,6 +36,7 @@ double epsilon = 0.0000005; // cout << "Left most end of the interval : " << min_max_.first << std::endl; // cout << "Right most end of the interval : " << min_max_.second << std::endl; BOOST_AUTO_TEST_CASE(check_min_max_function) { + std::cerr << "First test \n"; Persistence_intervals p("data/file_with_diagram"); std::pair min_max_ = p.get_x_range(); @@ -148,7 +149,7 @@ BOOST_AUTO_TEST_CASE(check_characteristic_function_of_diagram) { std::cerr << char_funct_diag[i] << " " << template_char_funct_diag[i] << std::endl; std::cerr << fabs(char_funct_diag[i] - template_char_funct_diag[i]) << std::endl; std::cerr << 0.0001 << std::endl; - getchar(); + //getchar(); } BOOST_CHECK(fabs(char_funct_diag[i] - template_char_funct_diag[i]) <= 0.0001); } diff --git a/src/Persistence_representations/test/persistence_lanscapes_on_grid_test.cpp b/src/Persistence_representations/test/persistence_lanscapes_on_grid_test.cpp index 8ab7449e..6b1608fe 100644 --- a/src/Persistence_representations/test/persistence_lanscapes_on_grid_test.cpp +++ b/src/Persistence_representations/test/persistence_lanscapes_on_grid_test.cpp @@ -199,11 +199,11 @@ BOOST_AUTO_TEST_CASE(check_computations_of_maxima_and_norms) { BOOST_AUTO_TEST_CASE(check_default_parameters_of_distances) { std::vector > diag = - read_persistence_intervals_in_one_dimension_from_file("data/file_with_diagram"); + read_persistence_intervals_in_dimension("data/file_with_diagram"); Persistence_landscape_on_grid p(diag, 0., 1., 100); std::vector > diag1 = - read_persistence_intervals_in_one_dimension_from_file("data/file_with_diagram_1"); + read_persistence_intervals_in_dimension("data/file_with_diagram_1"); Persistence_landscape_on_grid q(diag1, 0., 1., 100); double dist_numeric_limit_max = p.distance(q, std::numeric_limits::max()); diff --git a/src/Persistence_representations/test/persistence_lanscapes_test.cpp b/src/Persistence_representations/test/persistence_lanscapes_test.cpp index 22686560..206035c7 100644 --- a/src/Persistence_representations/test/persistence_lanscapes_test.cpp +++ b/src/Persistence_representations/test/persistence_lanscapes_test.cpp @@ -34,12 +34,12 @@ using namespace Gudhi::Persistence_representations; double epsilon = 0.0000005; -BOOST_AUTO_TEST_CASE(check_construction_of_landscape) { +BOOST_AUTO_TEST_CASE(check_construction_of_landscape) { std::vector > diag = - read_persistence_intervals_in_one_dimension_from_file("data/file_with_diagram"); + read_persistence_intervals_in_one_dimension_from_file("data/file_with_diagram"); Persistence_landscape p(diag); - Persistence_landscape q; - q.load_landscape_from_file("data/file_with_landscape_from_file_with_diagram"); + Persistence_landscape q; + q.load_landscape_from_file("data/file_with_landscape_from_file_with_diagram"); BOOST_CHECK(p == q); } @@ -47,10 +47,12 @@ BOOST_AUTO_TEST_CASE(check_construction_of_landscape_form_gudhi_style_file) { Persistence_landscape p("data/persistence_file_with_four_entries_per_line", 1); // p.print_to_file("persistence_file_with_four_entries_per_line_landscape"); Persistence_landscape q; - q.load_landscape_from_file("data/persistence_file_with_four_entries_per_line_landscape"); + q.load_landscape_from_file("data/persistence_file_with_four_entries_per_line_landscape"); BOOST_CHECK(p == q); } + + BOOST_AUTO_TEST_CASE(check_computations_of_integrals) { std::vector > diag = read_persistence_intervals_in_one_dimension_from_file("data/file_with_diagram"); @@ -217,9 +219,7 @@ BOOST_AUTO_TEST_CASE(check_computations_of_distances) { Persistence_landscape q(diag2); BOOST_CHECK(fabs(p.distance(q) - 25.5824) <= 0.00005); BOOST_CHECK(fabs(p.distance(q, 2) - 2.12636) <= 0.00001); - BOOST_CHECK(fabs(p.distance(q, std::numeric_limits::max()) - 0.359068) <= 0.00001); - std::cerr << "p.distance( q , std::numeric_limits::max() ) : " - << p.distance(q, std::numeric_limits::max()) << std::endl; + BOOST_CHECK(fabs(p.distance(q, std::numeric_limits::max()) - 0.359068) <= 0.00001); } BOOST_AUTO_TEST_CASE(check_computations_of_scalar_product) { @@ -232,6 +232,30 @@ BOOST_AUTO_TEST_CASE(check_computations_of_scalar_product) { BOOST_CHECK(fabs(p.compute_scalar_product(q) - 0.754498) <= 0.00001); } + + + + + + + + + + + + + + + + + + + + + + + + // Below I am storing the code used to generate tests for that functionality. /* if ( argc != 2 ) diff --git a/src/Persistence_representations/test/read_persistence_from_file_test.cpp b/src/Persistence_representations/test/read_persistence_from_file_test.cpp index 31dbed61..76d7cdb0 100644 --- a/src/Persistence_representations/test/read_persistence_from_file_test.cpp +++ b/src/Persistence_representations/test/read_persistence_from_file_test.cpp @@ -23,7 +23,6 @@ #define BOOST_TEST_DYN_LINK #define BOOST_TEST_MODULE "Persistence_representations" #include -#include #include #include @@ -31,6 +30,8 @@ using namespace Gudhi; using namespace Gudhi::Persistence_representations; + + BOOST_AUTO_TEST_CASE(test_read_file_with_four_elements_per_line) { std::vector > what_we_should_get; what_we_should_get.push_back(std::make_pair(0, 2)); @@ -38,7 +39,7 @@ BOOST_AUTO_TEST_CASE(test_read_file_with_four_elements_per_line) { what_we_should_get.push_back(std::make_pair(10, 90)); what_we_should_get.push_back(std::make_pair(4, 4)); std::vector > what_we_get = read_persistence_intervals_in_one_dimension_from_file( - "data/persistence_file_with_four_entries_per_line", 1, 1000); + "data/persistence_file_with_four_entries_per_line", 1, 1000); // for ( size_t i = 0 ; i != what_we_get.size() ; ++i ) //{ @@ -75,6 +76,7 @@ BOOST_AUTO_TEST_CASE(test_read_file_with_three_elements_per_line) { } } + BOOST_AUTO_TEST_CASE(test_read_file_with_two_elements_per_line) { std::vector > what_we_should_get; what_we_should_get.push_back(std::make_pair(4, 10)); @@ -83,16 +85,11 @@ BOOST_AUTO_TEST_CASE(test_read_file_with_two_elements_per_line) { what_we_should_get.push_back(std::make_pair(1, 4)); std::vector > what_we_get = - read_persistence_intervals_in_one_dimension_from_file("data/persistence_file_with_two_entries_per_line", 1, 9999); - - // for ( size_t i = 0 ; i != what_we_get.size() ; ++i ) - //{ - // std::cerr << what_we_get[i].first << " , " << what_we_get[i].second << std::endl; - //} - + read_persistence_intervals_in_one_dimension_from_file("data/persistence_file_with_two_entries_per_line", -1, 9999); BOOST_CHECK(what_we_should_get.size() == what_we_get.size()); for (size_t i = 0; i != what_we_get.size(); ++i) { BOOST_CHECK(what_we_should_get[i] == what_we_get[i]); } } + diff --git a/src/Persistence_representations/test/vector_representation_test.cpp b/src/Persistence_representations/test/vector_representation_test.cpp index 5a29c109..3f3e2abe 100644 --- a/src/Persistence_representations/test/vector_representation_test.cpp +++ b/src/Persistence_representations/test/vector_representation_test.cpp @@ -22,6 +22,7 @@ #include #include +#include #include #define BOOST_TEST_DYN_LINK @@ -295,11 +296,11 @@ BOOST_AUTO_TEST_CASE(check_distance_computations) { BOOST_AUTO_TEST_CASE(check_default_parameters_of_distances) { std::vector > diag = - read_persistence_intervals_in_one_dimension_from_file("data/file_with_diagram"); + read_persistence_intervals_in_dimension("data/file_with_diagram"); Vector_distances_in_diagram p(diag, 100); std::vector > diag1 = - read_persistence_intervals_in_one_dimension_from_file("data/file_with_diagram_1"); + read_persistence_intervals_in_dimension("data/file_with_diagram_1"); Vector_distances_in_diagram q(diag1, 100); double dist_numeric_limit_max = p.distance(q, std::numeric_limits::max()); -- cgit v1.2.3