From: Magnus Jacobsson Date: Wed, 14 Sep 2022 13:28:15 +0000 (+0200) Subject: add new test_min_edge_node_overlap_polygon_node_shapes test X-Git-Tag: 6.0.2~34^2~8 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=6b40cb66d421f62b28724904e458d9dd55331f27;p=graphviz add new test_min_edge_node_overlap_polygon_node_shapes test An upcoming commit series will add separate fixes for different parts of the overlap problems. Having separate test cases for checking maximum or minimum overlap will make it easier to see that the fixes have the intended effect. --- diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index dedfcf1df..f97cdc74f 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -93,6 +93,7 @@ CREATE_TEST(edge_node_overlap_polygon_node_shapes) CREATE_TEST(edge_node_overlap_simple) CREATE_TEST(max_edge_node_overlap_simple) CREATE_TEST(max_edge_node_overlap_polygon_node_shapes) +CREATE_TEST(min_edge_node_overlap_polygon_node_shapes) CREATE_TEST(min_edge_node_overlap_simple) CREATE_TEST(neatopack) CREATE_TEST(node_color) diff --git a/tests/test_min_edge_node_overlap_polygon_node_shapes.cpp b/tests/test_min_edge_node_overlap_polygon_node_shapes.cpp new file mode 100644 index 000000000..5586eb6da --- /dev/null +++ b/tests/test_min_edge_node_overlap_polygon_node_shapes.cpp @@ -0,0 +1,30 @@ +#include +#include + +#include "test_edge_node_overlap_utilities.h" +#include "test_utilities.h" + +TEST_CASE("Minimum edge and node overlap for polygon node shapes", + "Test that an edge connected to a polygon based node touches that " + "node, regardless of the node shape") { + + const auto shape = GENERATE(from_range(node_shapes_consisting_of_polygon)); + INFO(fmt::format("Node shape: {}", shape)); + + const graph_options graph_options = { + .node_shape = shape, + .node_penwidth = 2, + .edge_penwidth = 2, + }; + + const tc_check_options check_options = { + .check_max_edge_node_overlap = false, + .check_min_edge_node_overlap = true, + }; + + const auto filename_base = + fmt::format("test_max_edge_node_overlap_polygon_node_shape_{}", shape); + + test_edge_node_overlap(graph_options, check_options, + {.filename_base = filename_base}); +}