From f2cd56133457211356d2e9a485519723872d217b Mon Sep 17 00:00:00 2001 From: Gard Spreemann Date: Fri, 16 Mar 2018 10:56:37 +0100 Subject: Test cases for the DIPHA input reader. --- .../wasserstein/tests/data/test_100_A.pd.dipha | Bin 0 -> 2424 bytes .../wasserstein/tests/data/test_100_B.pd.dipha | Bin 0 -> 2424 bytes .../wasserstein/tests/data/test_5_A.pd.dipha | Bin 0 -> 144 bytes .../wasserstein/tests/data/test_5_B.pd.dipha | Bin 0 -> 144 bytes .../wasserstein/tests/data/test_diag1_A.pd.dipha | Bin 0 -> 48 bytes .../wasserstein/tests/data/test_diag1_B.pd.dipha | Bin 0 -> 48 bytes .../wasserstein/tests/data/test_diag2_A.pd.dipha | Bin 0 -> 48 bytes .../wasserstein/tests/data/test_diag2_B.pd.dipha | Bin 0 -> 48 bytes .../wasserstein/tests/data/test_diag3_A.pd.dipha | Bin 0 -> 5304 bytes .../wasserstein/tests/data/test_diag3_B.pd.dipha | Bin 0 -> 4656 bytes .../wasserstein/tests/test_hera_wasserstein.cpp | 23 +++++++++++++++++++++ 11 files changed, 23 insertions(+) create mode 100644 geom_matching/wasserstein/tests/data/test_100_A.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_100_B.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_5_A.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_5_B.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_diag1_A.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_diag1_B.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_diag2_A.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_diag2_B.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_diag3_A.pd.dipha create mode 100644 geom_matching/wasserstein/tests/data/test_diag3_B.pd.dipha diff --git a/geom_matching/wasserstein/tests/data/test_100_A.pd.dipha b/geom_matching/wasserstein/tests/data/test_100_A.pd.dipha new file mode 100644 index 0000000..e94f5fe Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_100_A.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_100_B.pd.dipha b/geom_matching/wasserstein/tests/data/test_100_B.pd.dipha new file mode 100644 index 0000000..25d6734 Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_100_B.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_5_A.pd.dipha b/geom_matching/wasserstein/tests/data/test_5_A.pd.dipha new file mode 100644 index 0000000..be84441 Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_5_A.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_5_B.pd.dipha b/geom_matching/wasserstein/tests/data/test_5_B.pd.dipha new file mode 100644 index 0000000..14ca67c Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_5_B.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_diag1_A.pd.dipha b/geom_matching/wasserstein/tests/data/test_diag1_A.pd.dipha new file mode 100644 index 0000000..fa4a4d9 Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_diag1_A.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_diag1_B.pd.dipha b/geom_matching/wasserstein/tests/data/test_diag1_B.pd.dipha new file mode 100644 index 0000000..621a55f Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_diag1_B.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_diag2_A.pd.dipha b/geom_matching/wasserstein/tests/data/test_diag2_A.pd.dipha new file mode 100644 index 0000000..621a55f Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_diag2_A.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_diag2_B.pd.dipha b/geom_matching/wasserstein/tests/data/test_diag2_B.pd.dipha new file mode 100644 index 0000000..621a55f Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_diag2_B.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_diag3_A.pd.dipha b/geom_matching/wasserstein/tests/data/test_diag3_A.pd.dipha new file mode 100644 index 0000000..0dbfb89 Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_diag3_A.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/data/test_diag3_B.pd.dipha b/geom_matching/wasserstein/tests/data/test_diag3_B.pd.dipha new file mode 100644 index 0000000..3fbfd90 Binary files /dev/null and b/geom_matching/wasserstein/tests/data/test_diag3_B.pd.dipha differ diff --git a/geom_matching/wasserstein/tests/test_hera_wasserstein.cpp b/geom_matching/wasserstein/tests/test_hera_wasserstein.cpp index a1a257b..3d5db5f 100644 --- a/geom_matching/wasserstein/tests/test_hera_wasserstein.cpp +++ b/geom_matching/wasserstein/tests/test_hera_wasserstein.cpp @@ -200,6 +200,29 @@ TEST_CASE("file cases", "wasserstein_dist") std::cout << ts << " PASSED " << std::endl; } } + + SECTION("from DIPHA file:") { + const char* file_name = "../tests/data/test_list.txt"; + std::ifstream f; + f.open(file_name); + std::vector test_params; + std::string s; + while (std::getline(f, s)) { + test_params.emplace_back(s); + } + + for(const auto& ts : test_params) { + params.wasserstein_power = ts.q; + params.internal_p = ts.internal_p; + bool read_file_A = hera::read_diagram_dipha(ts.file_1 + std::string(".pd.dipha"), 1, diagram_A); + bool read_file_B = hera::read_diagram_dipha(ts.file_2 + std::string(".pd.dipha"), 1, diagram_B); + REQUIRE( read_file_A ); + REQUIRE( read_file_B ); + double hera_answer = hera::wasserstein_dist(diagram_A, diagram_B, params); + REQUIRE( fabs(hera_answer - ts.answer) <= 0.01 * hera_answer ); + std::cout << ts << " PASSED " << std::endl; + } + } } -- cgit v1.2.3