Updated diagram filters test cases and docs
This commit is contained in:
@@ -17,4 +17,16 @@ diagrams:
|
||||
exclude:
|
||||
paths:
|
||||
- sequence_diagram
|
||||
- util/error.h
|
||||
- util/error.h
|
||||
method_type_include_test:
|
||||
type: class
|
||||
include:
|
||||
method_types:
|
||||
- constructor
|
||||
- operator
|
||||
method_type_exclude_test:
|
||||
type: class
|
||||
exclude:
|
||||
method_types:
|
||||
- deleted
|
||||
- destructor
|
||||
@@ -34,7 +34,6 @@ TEST_CASE("Test diagram paths filter", "[unit-test]")
|
||||
|
||||
auto cfg = clanguml::config::load("./test_config_data/filters.yml");
|
||||
|
||||
CHECK(cfg.diagrams.size() == 1);
|
||||
auto &config = *cfg.diagrams["include_test"];
|
||||
clanguml::include_diagram::model::diagram diagram;
|
||||
|
||||
@@ -52,3 +51,56 @@ TEST_CASE("Test diagram paths filter", "[unit-test]")
|
||||
CHECK_FALSE(filter.should_include(
|
||||
make_path("sequence_diagram/visitor/translation_unit_visitor.h")));
|
||||
}
|
||||
|
||||
TEST_CASE("Test method_types include filter", "[unit-test]")
|
||||
{
|
||||
using clanguml::class_diagram::model::class_method;
|
||||
using clanguml::common::model::access_t;
|
||||
using clanguml::common::model::diagram_filter;
|
||||
using clanguml::common::model::source_file;
|
||||
|
||||
auto cfg = clanguml::config::load("./test_config_data/filters.yml");
|
||||
|
||||
auto &config = *cfg.diagrams["method_type_include_test"];
|
||||
clanguml::class_diagram::model::diagram diagram;
|
||||
|
||||
diagram_filter filter(diagram, config);
|
||||
|
||||
class_method cm{access_t::kPublic, "A", ""};
|
||||
cm.is_constructor(true);
|
||||
|
||||
CHECK(filter.should_include(cm));
|
||||
|
||||
cm.is_constructor(false);
|
||||
cm.is_destructor(true);
|
||||
|
||||
CHECK(!filter.should_include(cm));
|
||||
}
|
||||
|
||||
TEST_CASE("Test method_types exclude filter", "[unit-test]")
|
||||
{
|
||||
using clanguml::class_diagram::model::class_method;
|
||||
using clanguml::common::model::access_t;
|
||||
using clanguml::common::model::diagram_filter;
|
||||
using clanguml::common::model::source_file;
|
||||
|
||||
auto cfg = clanguml::config::load("./test_config_data/filters.yml");
|
||||
|
||||
auto &config = *cfg.diagrams["method_type_exclude_test"];
|
||||
clanguml::class_diagram::model::diagram diagram;
|
||||
|
||||
diagram_filter filter(diagram, config);
|
||||
|
||||
class_method cm{access_t::kPublic, "A", ""};
|
||||
|
||||
CHECK(filter.should_include(cm));
|
||||
|
||||
cm.is_constructor(true);
|
||||
|
||||
CHECK(filter.should_include(cm));
|
||||
|
||||
cm.is_constructor(false);
|
||||
cm.is_destructor(true);
|
||||
|
||||
CHECK(!filter.should_include(cm));
|
||||
}
|
||||
Reference in New Issue
Block a user