12 static set<int> mkset(
int i1)
14 set<int> a; a.insert(i1);
return a;
16 static set<int> mkset(
int i1,
int i2)
18 set<int> a; a.insert(i1); a.insert(i2);
return a;
21 static set<int> mkset(
int i1,
int i2,
int i3)
23 set<int> a; a.insert(i1); a.insert(i2); a.insert(i3);
return a;
25 static set<int> mkset(
int i1,
int i2,
int i3,
int i4)
27 set<int> a; a.insert(i1); a.insert(i2); a.insert(i3); a.insert(i4);
return a;
31 struct TestOperators {
33 Test binarySetOperations() {
34 set< int > a = mkset(4, 5);
35 set< int > b = mkset(5);
38 assert( c.find( 4 ) == c.end() );
39 assert( c.find( 5 ) != c.end() );
42 assert( c.find( 4 ) != c.end() );
43 assert( c.find( 5 ) != c.end() );
46 assert( c.find( 4 ) != c.end() );
47 assert( c.find( 5 ) == c.end() );
50 Test mutatingSetOperations() {
51 set< int > a = mkset(4, 3);
52 set< int > b = mkset(5);
55 assert( b.find( 2 ) == b.end() );
56 assert( b.find( 3 ) != b.end() );
57 assert( b.find( 4 ) == b.end() );
58 assert( b.find( 5 ) != b.end() );
61 assert( b.find( 3 ) != b.end() );
62 assert( b.find( 4 ) != b.end() );
63 assert( b.find( 5 ) != b.end() );
66 assert( b.find( 3 ) != b.end() );
67 assert( b.find( 4 ) != b.end() );
68 assert( b.find( 5 ) == b.end() );
69 b.insert( b.begin(), 2 );
72 assert( b.find( 2 ) != b.end() );
73 assert( b.find( 3 ) == b.end() );
74 assert( b.find( 4 ) == b.end() );
77 Test specialContainerOperations() {
85 assert( a.find( 1 ) != a.end() );
89 assert( a.find( 1 ) != a.end() );
93 assert( a.find( 1 ) == a.end() );
100 assert( a.find( 1 ) != a.end() );
104 assert( a.find( 1 ) != a.end() );
108 assert( a.find( 1 ) == a.end() );
111 Test emptySetInclusion() {
117 Test mutatingIntersectionBug() {
120 set<int> a = mkset(2);
121 set<int> b = mkset(1, 2);
122 set<int> c = mkset(2);
Definition: singleton.h:33
Definition: operators.h:12
void Test
Definition: test.h:178
#define assert_eq(x, y)
Definition: test.h:33
#define assert(x)
Definition: test.h:30