2 #define BOOST_TEST_DYN_LINK
3 #define BOOST_TEST_MODULE ma_domain_ops_test
4 #include <boost/test/unit_test.hpp>
6 #include "ErrorHandler/MessageAnalyzer/ma_domain_ops.h"
8 using namespace novadaq::errorhandler;
10 BOOST_AUTO_TEST_SUITE(ma_domain_ops_test)
15 ma_cond_domain d = ma_cond_domain_ctor_null();
16 BOOST_CHECK_EQUAL(d.first, D_NIL);
17 BOOST_CHECK_EQUAL(d.second, D_NIL);
21 ma_cond_domain d = ma_cond_domain_ctor_any();
22 BOOST_CHECK_EQUAL(d.first, D_ANY);
23 BOOST_CHECK_EQUAL(d.second, D_ANY);
27 ma_cond_domain d = ma_cond_domain_ctor(5, 6);
28 BOOST_CHECK_EQUAL(d.first, 5);
29 BOOST_CHECK_EQUAL(d.second, 6);
39 ma_cond_domain d1 = ma_cond_domain_ctor_null();
40 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
41 domain_intersect(d1, d2);
42 BOOST_CHECK_EQUAL(d1.first, D_NIL);
43 BOOST_CHECK_EQUAL(d1.second, D_NIL);
44 BOOST_CHECK(domain_is_null(d1));
48 ma_cond_domain d1 = ma_cond_domain_ctor_any();
49 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
50 domain_intersect(d1, d2);
51 BOOST_CHECK_EQUAL(d1.first, 5);
52 BOOST_CHECK_EQUAL(d1.second, 6);
56 ma_cond_domain d1 = ma_cond_domain_ctor(5, 8);
57 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
58 domain_intersect(d1, d2);
59 BOOST_CHECK_EQUAL(d1.first, D_NIL);
60 BOOST_CHECK_EQUAL(d1.second, D_NIL);
61 BOOST_CHECK(domain_is_null(d1));
65 ma_cond_domain d1 = ma_cond_domain_ctor(5, D_ANY);
66 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
67 domain_intersect(d1, d2);
68 BOOST_CHECK_EQUAL(d1.first, 5);
69 BOOST_CHECK_EQUAL(d1.second, 6);
73 ma_cond_domain d1 = ma_cond_domain_ctor(D_ANY, 6);
74 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
75 domain_intersect(d1, d2);
76 BOOST_CHECK_EQUAL(d1.first, 5);
77 BOOST_CHECK_EQUAL(d1.second, 6);
81 ma_cond_domain d1 = ma_cond_domain_ctor(D_ANY, 6);
82 ma_cond_domain d2 = ma_cond_domain_ctor(5, D_ANY);
83 domain_intersect(d1, d2);
84 BOOST_CHECK_EQUAL(d1.first, 5);
85 BOOST_CHECK_EQUAL(d1.second, 6);
92 ma_domain d1 = ma_domain_ctor(3, ma_cond_domain_ctor(2, 3));
93 ma_domain d2 = ma_domain_ctor(4, ma_cond_domain_ctor(5, 6));
94 BOOST_CHECK_THROW(domain_intersect(d1, d2), std::runtime_error);
98 ma_domain d1 = ma_domain_ctor(3, ma_cond_domain_ctor(2, 3));
99 ma_domain d2 = ma_domain_ctor(3, ma_cond_domain_ctor(5, 6));
100 domain_intersect(d1, d2);
101 BOOST_CHECK(domain_is_null(d1));
109 BOOST_AUTO_TEST_SUITE_END()