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);
41 ma_cond_domain d1 = ma_cond_domain_ctor_null();
42 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
43 domain_intersect(d1, d2);
44 BOOST_CHECK_EQUAL(d1.first, D_NIL);
45 BOOST_CHECK_EQUAL(d1.second, D_NIL);
46 BOOST_CHECK(domain_is_null(d1));
50 ma_cond_domain d1 = ma_cond_domain_ctor_any();
51 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
52 domain_intersect(d1, d2);
53 BOOST_CHECK_EQUAL(d1.first, 5);
54 BOOST_CHECK_EQUAL(d1.second, 6);
58 ma_cond_domain d1 = ma_cond_domain_ctor(5, 8);
59 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
60 domain_intersect(d1, d2);
61 BOOST_CHECK_EQUAL(d1.first, D_NIL);
62 BOOST_CHECK_EQUAL(d1.second, D_NIL);
63 BOOST_CHECK(domain_is_null(d1));
67 ma_cond_domain d1 = ma_cond_domain_ctor(5, D_ANY);
68 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
69 domain_intersect(d1, d2);
70 BOOST_CHECK_EQUAL(d1.first, 5);
71 BOOST_CHECK_EQUAL(d1.second, 6);
75 ma_cond_domain d1 = ma_cond_domain_ctor(D_ANY, 6);
76 ma_cond_domain d2 = ma_cond_domain_ctor(5, 6);
77 domain_intersect(d1, d2);
78 BOOST_CHECK_EQUAL(d1.first, 5);
79 BOOST_CHECK_EQUAL(d1.second, 6);
83 ma_cond_domain d1 = ma_cond_domain_ctor(D_ANY, 6);
84 ma_cond_domain d2 = ma_cond_domain_ctor(5, D_ANY);
85 domain_intersect(d1, d2);
86 BOOST_CHECK_EQUAL(d1.first, 5);
87 BOOST_CHECK_EQUAL(d1.second, 6);
94 ma_domain d1 = ma_domain_ctor(3, ma_cond_domain_ctor(2,3));
95 ma_domain d2 = ma_domain_ctor(4, ma_cond_domain_ctor(5,6));
96 BOOST_CHECK_THROW( domain_intersect(d1,d2), std::runtime_error );
100 ma_domain d1 = ma_domain_ctor(3, ma_cond_domain_ctor(2,3));
101 ma_domain d2 = ma_domain_ctor(3, ma_cond_domain_ctor(5,6));
102 domain_intersect(d1, d2);
103 BOOST_CHECK( domain_is_null(d1) );
113 BOOST_AUTO_TEST_SUITE_END()