e3195f1127215a657f30e5c7edbdb6a5871328b6
[platform/upstream/libzypp.git] / tests / zypp / SetRelationMixin_test.cc
1 #include <boost/test/auto_unit_test.hpp>
2 #include "zypp/base/SetRelationMixin.h"
3
4 using zypp::SetCompare;
5 using zypp::SetRelation;
6
7 BOOST_AUTO_TEST_CASE(set_compare)
8 {
9   BOOST_CHECK( SetCompare::uncomparable         == SetCompare::uncomparable );
10   BOOST_CHECK( SetCompare::uncomparable         != SetCompare::equal );
11   BOOST_CHECK( SetCompare::uncomparable         != SetCompare::properSubset );
12   BOOST_CHECK( SetCompare::uncomparable         != SetCompare::properSuperset );
13   BOOST_CHECK( SetCompare::uncomparable         != SetCompare::disjoint );
14
15   BOOST_CHECK( SetCompare::equal                != SetCompare::uncomparable );
16   BOOST_CHECK( SetCompare::equal                == SetCompare::equal );
17   BOOST_CHECK( SetCompare::equal                != SetCompare::properSubset );
18   BOOST_CHECK( SetCompare::equal                != SetCompare::properSuperset );
19   BOOST_CHECK( SetCompare::equal                != SetCompare::disjoint );
20
21   BOOST_CHECK( SetCompare::properSubset         != SetCompare::uncomparable );
22   BOOST_CHECK( SetCompare::properSubset         != SetCompare::equal );
23   BOOST_CHECK( SetCompare::properSubset         == SetCompare::properSubset );
24   BOOST_CHECK( SetCompare::properSubset         != SetCompare::properSuperset );
25   BOOST_CHECK( SetCompare::properSubset         != SetCompare::disjoint );
26
27   BOOST_CHECK( SetCompare::properSuperset       != SetCompare::uncomparable );
28   BOOST_CHECK( SetCompare::properSuperset       != SetCompare::equal );
29   BOOST_CHECK( SetCompare::properSuperset       != SetCompare::properSubset );
30   BOOST_CHECK( SetCompare::properSuperset       == SetCompare::properSuperset );
31   BOOST_CHECK( SetCompare::properSuperset       != SetCompare::disjoint );
32
33   BOOST_CHECK( SetCompare::disjoint             != SetCompare::uncomparable );
34   BOOST_CHECK( SetCompare::disjoint             != SetCompare::equal );
35   BOOST_CHECK( SetCompare::disjoint             != SetCompare::properSubset );
36   BOOST_CHECK( SetCompare::disjoint             != SetCompare::properSuperset );
37   BOOST_CHECK( SetCompare::disjoint             == SetCompare::disjoint );
38 }
39
40 BOOST_AUTO_TEST_CASE(set_relation)
41 {
42   BOOST_CHECK( SetRelation::uncomparable        == SetRelation::uncomparable );
43   BOOST_CHECK( SetRelation::uncomparable        != SetRelation::equal );
44   BOOST_CHECK( SetRelation::uncomparable        != SetRelation::properSubset );
45   BOOST_CHECK( SetRelation::uncomparable        != SetRelation::properSuperset );
46   BOOST_CHECK( SetRelation::uncomparable        != SetRelation::disjoint );
47   BOOST_CHECK( SetRelation::uncomparable        != SetRelation::subset );
48   BOOST_CHECK( SetRelation::uncomparable        != SetRelation::superset );
49
50   BOOST_CHECK( SetRelation::equal               != SetRelation::uncomparable );
51   BOOST_CHECK( SetRelation::equal               == SetRelation::equal );
52   BOOST_CHECK( SetRelation::equal               != SetRelation::properSubset );
53   BOOST_CHECK( SetRelation::equal               != SetRelation::properSuperset );
54   BOOST_CHECK( SetRelation::equal               != SetRelation::disjoint );
55   BOOST_CHECK( SetRelation::equal               != SetRelation::subset );
56   BOOST_CHECK( SetRelation::equal               != SetRelation::superset );
57
58   BOOST_CHECK( SetRelation::properSubset        != SetRelation::uncomparable );
59   BOOST_CHECK( SetRelation::properSubset        != SetRelation::equal );
60   BOOST_CHECK( SetRelation::properSubset        == SetRelation::properSubset );
61   BOOST_CHECK( SetRelation::properSubset        != SetRelation::properSuperset );
62   BOOST_CHECK( SetRelation::properSubset        != SetRelation::disjoint );
63   BOOST_CHECK( SetRelation::properSubset        != SetRelation::subset );
64   BOOST_CHECK( SetRelation::properSubset        != SetRelation::superset );
65
66   BOOST_CHECK( SetRelation::properSuperset      != SetRelation::uncomparable );
67   BOOST_CHECK( SetRelation::properSuperset      != SetRelation::equal );
68   BOOST_CHECK( SetRelation::properSuperset      != SetRelation::properSubset );
69   BOOST_CHECK( SetRelation::properSuperset      == SetRelation::properSuperset );
70   BOOST_CHECK( SetRelation::properSuperset      != SetRelation::disjoint );
71   BOOST_CHECK( SetRelation::properSuperset      != SetRelation::subset );
72   BOOST_CHECK( SetRelation::properSuperset      != SetRelation::superset );
73
74   BOOST_CHECK( SetRelation::disjoint            != SetRelation::uncomparable );
75   BOOST_CHECK( SetRelation::disjoint            != SetRelation::equal );
76   BOOST_CHECK( SetRelation::disjoint            != SetRelation::properSubset );
77   BOOST_CHECK( SetRelation::disjoint            != SetRelation::properSuperset );
78   BOOST_CHECK( SetRelation::disjoint            == SetRelation::disjoint );
79   BOOST_CHECK( SetRelation::disjoint            != SetRelation::subset );
80   BOOST_CHECK( SetRelation::disjoint            != SetRelation::superset );
81
82   BOOST_CHECK( SetRelation::subset              != SetRelation::uncomparable );
83   BOOST_CHECK( SetRelation::subset              != SetRelation::equal );
84   BOOST_CHECK( SetRelation::subset              != SetRelation::properSubset );
85   BOOST_CHECK( SetRelation::subset              != SetRelation::properSuperset );
86   BOOST_CHECK( SetRelation::subset              != SetRelation::disjoint );
87   BOOST_CHECK( SetRelation::subset              == SetRelation::subset );
88   BOOST_CHECK( SetRelation::subset              != SetRelation::superset );
89
90   BOOST_CHECK( SetRelation::superset            != SetRelation::uncomparable );
91   BOOST_CHECK( SetRelation::superset            != SetRelation::equal );
92   BOOST_CHECK( SetRelation::superset            != SetRelation::properSubset );
93   BOOST_CHECK( SetRelation::superset            != SetRelation::properSuperset );
94   BOOST_CHECK( SetRelation::superset            != SetRelation::disjoint );
95   BOOST_CHECK( SetRelation::superset            != SetRelation::subset );
96   BOOST_CHECK( SetRelation::superset            == SetRelation::superset );
97 }
98
99 BOOST_AUTO_TEST_CASE(set_relation_comapre)
100 {
101   BOOST_CHECK( SetRelation::uncomparable        == SetCompare::uncomparable );
102   BOOST_CHECK( SetRelation::uncomparable        != SetCompare::equal );
103   BOOST_CHECK( SetRelation::uncomparable        != SetCompare::properSubset );
104   BOOST_CHECK( SetRelation::uncomparable        != SetCompare::properSuperset );
105   BOOST_CHECK( SetRelation::uncomparable        != SetCompare::disjoint );
106
107   BOOST_CHECK( SetRelation::equal               != SetCompare::uncomparable );
108   BOOST_CHECK( SetRelation::equal               == SetCompare::equal );
109   BOOST_CHECK( SetRelation::equal               != SetCompare::properSubset );
110   BOOST_CHECK( SetRelation::equal               != SetCompare::properSuperset );
111   BOOST_CHECK( SetRelation::equal               != SetCompare::disjoint );
112
113   BOOST_CHECK( SetRelation::properSubset        != SetCompare::uncomparable );
114   BOOST_CHECK( SetRelation::properSubset        != SetCompare::equal );
115   BOOST_CHECK( SetRelation::properSubset        == SetCompare::properSubset );
116   BOOST_CHECK( SetRelation::properSubset        != SetCompare::properSuperset );
117   BOOST_CHECK( SetRelation::properSubset        != SetCompare::disjoint );
118
119   BOOST_CHECK( SetRelation::properSuperset      != SetCompare::uncomparable );
120   BOOST_CHECK( SetRelation::properSuperset      != SetCompare::equal );
121   BOOST_CHECK( SetRelation::properSuperset      != SetCompare::properSubset );
122   BOOST_CHECK( SetRelation::properSuperset      == SetCompare::properSuperset );
123   BOOST_CHECK( SetRelation::properSuperset      != SetCompare::disjoint );
124
125   BOOST_CHECK( SetRelation::disjoint            != SetCompare::uncomparable );
126   BOOST_CHECK( SetRelation::disjoint            != SetCompare::equal );
127   BOOST_CHECK( SetRelation::disjoint            != SetCompare::properSubset );
128   BOOST_CHECK( SetRelation::disjoint            != SetCompare::properSuperset );
129   BOOST_CHECK( SetRelation::disjoint            == SetCompare::disjoint );
130
131   BOOST_CHECK( SetRelation::subset              != SetCompare::uncomparable );
132   BOOST_CHECK( SetRelation::subset              == SetCompare::equal );
133   BOOST_CHECK( SetRelation::subset              == SetCompare::properSubset );
134   BOOST_CHECK( SetRelation::subset              != SetCompare::properSuperset );
135   BOOST_CHECK( SetRelation::subset              != SetCompare::disjoint );
136
137   BOOST_CHECK( SetRelation::superset            != SetCompare::uncomparable );
138   BOOST_CHECK( SetRelation::superset            == SetCompare::equal );
139   BOOST_CHECK( SetRelation::superset            != SetCompare::properSubset );
140   BOOST_CHECK( SetRelation::superset            == SetCompare::properSuperset );
141   BOOST_CHECK( SetRelation::superset            != SetCompare::disjoint );
142 }