|
1 | 1 | /** |
2 | | - * @file validators_runner_test.cpp |
3 | | - * @brief Validators runner test. |
| 2 | + * @file validators_executor_test.cpp |
| 3 | + * @brief Validators executor test. |
4 | 4 | * @kaspersky_support David P. |
5 | 5 | * @date 10.04.2026 |
6 | 6 | * @license Apache 2.0 |
|
20 | 20 | */ |
21 | 21 |
|
22 | 22 | #include <knp/framework/network.h> |
23 | | -#include <knp/framework/network_validation/runner.h> |
| 23 | +#include <knp/framework/network_validation/executor.h> |
24 | 24 | #include <knp/framework/population/neuron_parameters_generators.h> |
25 | 25 |
|
26 | 26 | #include <tests_common.h> |
27 | 27 |
|
| 28 | +namespace |
| 29 | +{ |
| 30 | +class TestErrorCategory : public std::error_category |
| 31 | +{ |
| 32 | + [[nodiscard]] const char* name() const noexcept override { return "TestValidatorError"; } |
| 33 | + [[nodiscard]] std::string message(int error) const override { return "Error"; } |
| 34 | +}; |
| 35 | + |
| 36 | + |
| 37 | +const std::error_category& error_category() noexcept |
| 38 | +{ |
| 39 | + static TestErrorCategory instance; |
| 40 | + return instance; |
| 41 | +} |
| 42 | +} // namespace |
| 43 | + |
28 | 44 |
|
29 | | -TEST(ValidatorsRunner, RunValidators) |
| 45 | +TEST(ValidatorsExecutor, RunValidators) |
30 | 46 | { |
31 | 47 | knp::framework::Network network; |
32 | 48 | network.add_projection( |
33 | 49 | knp::core::Projection<knp::synapse_traits::DeltaSynapse>(knp::core::UID(false), knp::core::UID(false))); |
34 | 50 | network.add_population(knp::core::Population<knp::neuron_traits::BLIFATNeuron>( |
35 | 51 | knp::framework::population::neurons_generators::make_default<knp::neuron_traits::BLIFATNeuron>(), 0)); |
36 | 52 |
|
37 | | - knp::framework::network_validation::Runner runner; |
38 | | - runner.add_validator( |
| 53 | + knp::framework::network_validation::Executor executor; |
| 54 | + executor.add_validator( |
39 | 55 | "test0", |
40 | | - [](const knp::framework::Network&) -> std::vector<knp::framework::network_validation::Report> { |
41 | | - return {{knp::framework::network_validation::info, "message0", 0}}; |
| 56 | + [](const knp::framework::Network&) -> knp::framework::network_validation::Report { |
| 57 | + return {{knp::framework::network_validation::IssueSeverity::info, "message0", {0, error_category()}}}; |
42 | 58 | }); |
43 | | - runner.add_validator( |
| 59 | + executor.add_validator( |
44 | 60 | "test1", |
45 | | - [](const knp::framework::Network::AllProjectionVariants&) |
46 | | - -> std::vector<knp::framework::network_validation::Report> { |
47 | | - return {{knp::framework::network_validation::warning, "message1", 1}}; |
| 61 | + [](const knp::framework::Network::AllProjectionVariants&) -> knp::framework::network_validation::Report { |
| 62 | + return {{knp::framework::network_validation::IssueSeverity::warning, "message1", {1, error_category()}}}; |
48 | 63 | }); |
49 | | - runner.add_validator( |
| 64 | + executor.add_validator( |
50 | 65 | "test2", |
51 | | - [](const knp::framework::Network::AllPopulationVariants&) |
52 | | - -> std::vector<knp::framework::network_validation::Report> { |
53 | | - return {{knp::framework::network_validation::error, "message2", 2}}; |
| 66 | + [](const knp::framework::Network::AllPopulationVariants&) -> knp::framework::network_validation::Report { |
| 67 | + return {{knp::framework::network_validation::IssueSeverity::error, "message2", {2, error_category()}}}; |
54 | 68 | }); |
55 | 69 |
|
56 | | - auto reports = runner.run_validators(network); |
| 70 | + auto reports = executor.run_validators(network); |
57 | 71 | ASSERT_EQ(reports.size(), 3); |
58 | 72 | ASSERT_EQ(reports[0].validator_name_, "test2"); |
59 | 73 | ASSERT_EQ(reports[0].report_.size(), 1); |
60 | | - ASSERT_EQ(reports[0].report_[0].severity_, knp::framework::network_validation::error); |
| 74 | + ASSERT_EQ(reports[0].report_[0].severity_, knp::framework::network_validation::IssueSeverity::error); |
61 | 75 | ASSERT_EQ(reports[0].report_[0].message_, "message2"); |
62 | | - ASSERT_EQ(reports[0].report_[0].code_, 2); |
| 76 | + ASSERT_EQ(reports[0].report_[0].code_.value(), 2); |
63 | 77 | ASSERT_EQ(reports[1].validator_name_, "test1"); |
64 | 78 | ASSERT_EQ(reports[1].report_.size(), 1); |
65 | | - ASSERT_EQ(reports[1].report_[0].severity_, knp::framework::network_validation::warning); |
| 79 | + ASSERT_EQ(reports[1].report_[0].severity_, knp::framework::network_validation::IssueSeverity::warning); |
66 | 80 | ASSERT_EQ(reports[1].report_[0].message_, "message1"); |
67 | | - ASSERT_EQ(reports[1].report_[0].code_, 1); |
| 81 | + ASSERT_EQ(reports[1].report_[0].code_.value(), 1); |
68 | 82 | ASSERT_EQ(reports[2].validator_name_, "test0"); |
69 | 83 | ASSERT_EQ(reports[2].report_.size(), 1); |
70 | | - ASSERT_EQ(reports[2].report_[0].severity_, knp::framework::network_validation::info); |
| 84 | + ASSERT_EQ(reports[2].report_[0].severity_, knp::framework::network_validation::IssueSeverity::info); |
71 | 85 | ASSERT_EQ(reports[2].report_[0].message_, "message0"); |
72 | | - ASSERT_EQ(reports[2].report_[0].code_, 0); |
| 86 | + ASSERT_EQ(reports[2].report_[0].code_.value(), 0); |
73 | 87 | } |
0 commit comments