2
#include <telepathy-glib/intset.h>
4
int main (int argc, char **argv)
6
TpIntSet *set1 = tp_intset_new ();
8
TpIntSet *ab_union, *ab_expected_union;
9
TpIntSet *ab_inter, *ab_expected_inter;
10
TpIntSet *a_diff_b, *a_expected_diff_b;
11
TpIntSet *b_diff_a, *b_expected_diff_a;
12
TpIntSet *ab_symmdiff, *ab_expected_symmdiff;
14
tp_intset_add (set1, 0);
16
tp_intset_add (set1, 2);
17
tp_intset_add (set1, 3);
18
tp_intset_add (set1, 5);
19
tp_intset_add (set1, 8);
21
tp_intset_add (set1, 1024);
22
tp_intset_add (set1, 32);
24
g_assert (tp_intset_size (set1) == 7);
26
g_assert (tp_intset_is_member (set1, 2));
27
g_assert (tp_intset_is_member (set1, 5));
28
g_assert (tp_intset_is_member (set1, 1024));
29
g_assert (!tp_intset_is_member (set1, 1023));
30
g_assert (!tp_intset_is_member (set1, 1025));
31
g_assert (tp_intset_is_member (set1, 0));
32
g_assert (tp_intset_is_member (set1, 32));
33
g_assert (!tp_intset_is_member (set1, 31));
34
g_assert (!tp_intset_is_member (set1, 33));
36
tp_intset_remove (set1, 8);
37
tp_intset_remove (set1, 1024);
38
g_assert (tp_intset_size (set1) == 5);
40
tp_intset_destroy (set1);
50
tp_intset_add (a, NUM_A);
51
tp_intset_add (a, NUM_B);
52
tp_intset_add (a, NUM_C);
53
tp_intset_add (a, NUM_D);
55
g_assert (tp_intset_is_equal (a, a));
58
tp_intset_add (b, NUM_C);
59
tp_intset_add (b, NUM_D);
60
tp_intset_add (b, NUM_E);
61
tp_intset_add (b, NUM_F);
63
g_assert (tp_intset_is_equal (b, b));
64
g_assert (!tp_intset_is_equal (a, b));
66
ab_expected_union = tp_intset_new ();
67
tp_intset_add (ab_expected_union, NUM_A);
68
tp_intset_add (ab_expected_union, NUM_B);
69
tp_intset_add (ab_expected_union, NUM_C);
70
tp_intset_add (ab_expected_union, NUM_D);
71
tp_intset_add (ab_expected_union, NUM_E);
72
tp_intset_add (ab_expected_union, NUM_F);
74
ab_union = tp_intset_union (a, b);
75
g_assert (tp_intset_is_equal (ab_union, ab_expected_union));
76
tp_intset_destroy (ab_union);
77
tp_intset_destroy (ab_expected_union);
79
ab_expected_inter = tp_intset_new ();
80
tp_intset_add (ab_expected_inter, NUM_C);
81
tp_intset_add (ab_expected_inter, NUM_D);
83
ab_inter = tp_intset_intersection (a, b);
84
g_assert (tp_intset_is_equal (ab_inter, ab_expected_inter));
85
tp_intset_destroy (ab_inter);
86
tp_intset_destroy (ab_expected_inter);
88
a_expected_diff_b = tp_intset_new ();
89
tp_intset_add (a_expected_diff_b, NUM_A);
90
tp_intset_add (a_expected_diff_b, NUM_B);
92
a_diff_b = tp_intset_difference (a, b);
93
g_assert (tp_intset_is_equal (a_diff_b, a_expected_diff_b));
94
tp_intset_destroy (a_diff_b);
95
tp_intset_destroy (a_expected_diff_b);
97
b_expected_diff_a = tp_intset_new ();
98
tp_intset_add (b_expected_diff_a, NUM_E);
99
tp_intset_add (b_expected_diff_a, NUM_F);
101
b_diff_a = tp_intset_difference (b, a);
102
g_assert (tp_intset_is_equal (b_diff_a, b_expected_diff_a));
103
tp_intset_destroy (b_diff_a);
104
tp_intset_destroy (b_expected_diff_a);
106
ab_expected_symmdiff = tp_intset_new ();
107
tp_intset_add (ab_expected_symmdiff, NUM_A);
108
tp_intset_add (ab_expected_symmdiff, NUM_B);
109
tp_intset_add (ab_expected_symmdiff, NUM_E);
110
tp_intset_add (ab_expected_symmdiff, NUM_F);
112
ab_symmdiff = tp_intset_symmetric_difference (a, b);
113
g_assert (tp_intset_is_equal (ab_symmdiff, ab_expected_symmdiff));
114
tp_intset_destroy (ab_symmdiff);
115
tp_intset_destroy (ab_expected_symmdiff);
121
arr = tp_intset_to_array (a);
122
tmp = tp_intset_from_array (arr);
123
g_assert (tp_intset_is_equal (a, tmp));
124
g_array_free (arr, TRUE);
125
tp_intset_destroy (tmp);
127
arr = tp_intset_to_array (b);
128
tmp = tp_intset_from_array (arr);
129
g_assert (tp_intset_is_equal (b, tmp));
130
g_array_free (arr, TRUE);
131
tp_intset_destroy (tmp);
134
tp_intset_destroy (a);
135
tp_intset_destroy (b);