~ubuntu-branches/ubuntu/wily/telepathy-glib/wily

« back to all changes in this revision

Viewing changes to tests/intset.c

  • Committer: Bazaar Package Importer
  • Author(s): Simon McVittie
  • Date: 2009-03-24 22:06:52 UTC
  • mfrom: (1.3.1 upstream) (17.1.10 sid)
  • Revision ID: james.westby@ubuntu.com-20090324220652-c8dvom0nsqomp23d
Tags: 0.7.28-1
* New upstream version (ABI, API added)
* Put the -dbg package in section debug, as per recent archive changes
* Remove obsolete Conflicts/Replaces with libtelepathy-glib-static-dev, which
  was never in a stable release (and probably never in Debian at all)

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include <glib.h>
 
2
#include <telepathy-glib/intset.h>
 
3
 
 
4
int main (int argc, char **argv)
 
5
{
 
6
  TpIntSet *set1 = tp_intset_new ();
 
7
  TpIntSet *a, *b;
 
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;
 
13
 
 
14
  tp_intset_add (set1, 0);
 
15
 
 
16
  tp_intset_add (set1, 2);
 
17
  tp_intset_add (set1, 3);
 
18
  tp_intset_add (set1, 5);
 
19
  tp_intset_add (set1, 8);
 
20
 
 
21
  tp_intset_add (set1, 1024);
 
22
  tp_intset_add (set1, 32);
 
23
 
 
24
  g_assert (tp_intset_size (set1) == 7);
 
25
 
 
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));
 
35
 
 
36
  tp_intset_remove (set1, 8);
 
37
  tp_intset_remove (set1, 1024);
 
38
  g_assert (tp_intset_size (set1) == 5);
 
39
 
 
40
  tp_intset_destroy (set1);
 
41
 
 
42
#define NUM_A 11
 
43
#define NUM_B 823
 
44
#define NUM_C 367
 
45
#define NUM_D 4177
 
46
#define NUM_E 109
 
47
#define NUM_F 1861
 
48
 
 
49
  a = tp_intset_new ();
 
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);
 
54
 
 
55
  g_assert (tp_intset_is_equal (a, a));
 
56
 
 
57
  b = tp_intset_new ();
 
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);
 
62
 
 
63
  g_assert (tp_intset_is_equal (b, b));
 
64
  g_assert (!tp_intset_is_equal (a, b));
 
65
 
 
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);
 
73
 
 
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);
 
78
 
 
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);
 
82
 
 
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);
 
87
 
 
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);
 
91
 
 
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);
 
96
 
 
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);
 
100
 
 
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);
 
105
 
 
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);
 
111
 
 
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);
 
116
 
 
117
  {
 
118
    GArray *arr;
 
119
    TpIntSet *tmp;
 
120
 
 
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);
 
126
 
 
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);
 
132
  }
 
133
 
 
134
  tp_intset_destroy (a);
 
135
  tp_intset_destroy (b);
 
136
 
 
137
  return 0;
 
138
}