1 /* testlinkedlist.c generated by valac 0.19.0.4-d6d4, the Vala compiler
2 * generated from testlinkedlist.vala, do not modify */
3
4 /* testlinkedlist.vala
5 *
6 * Copyright (C) 2008 Jürg Billeter
7 *
8 * This library is free software; you can redistribute it and/or
9 * modify it under the terms of the GNU Lesser General Public
10 * License as published by the Free Software Foundation; either
11 * version 2.1 of the License, or (at your option) any later version.
12
13 * This library is distributed in the hope that it will be useful,
14 * but WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * Lesser General Public License for more details.
17
18 * You should have received a copy of the GNU Lesser General Public
19 * License along with this library; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
21 *
22 * Authors:
23 * Jürg Billeter <j@bitron.ch>
24 * Mark Lee <marklee@src.gnome.org> (port to LinkedList)
25 * Julien Peeters <contact@julienpeeters.fr>
26 */
27
28 #include <glib.h>
29 #include <glib-object.h>
30 #include <gee.h>
31 #include <stdlib.h>
32 #include <string.h>
33
34
35 #define GEE_TYPE_TEST_CASE (gee_test_case_get_type ())
36 #define GEE_TEST_CASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TEST_CASE, GeeTestCase))
37 #define GEE_TEST_CASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TEST_CASE, GeeTestCaseClass))
38 #define GEE_IS_TEST_CASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TEST_CASE))
39 #define GEE_IS_TEST_CASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TEST_CASE))
40 #define GEE_TEST_CASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TEST_CASE, GeeTestCaseClass))
41
42 typedef struct _GeeTestCase GeeTestCase;
43 typedef struct _GeeTestCaseClass GeeTestCaseClass;
44 typedef struct _GeeTestCasePrivate GeeTestCasePrivate;
45
46 #define TYPE_COLLECTION_TESTS (collection_tests_get_type ())
47 #define COLLECTION_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_COLLECTION_TESTS, CollectionTests))
48 #define COLLECTION_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_COLLECTION_TESTS, CollectionTestsClass))
49 #define IS_COLLECTION_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_COLLECTION_TESTS))
50 #define IS_COLLECTION_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_COLLECTION_TESTS))
51 #define COLLECTION_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_COLLECTION_TESTS, CollectionTestsClass))
52
53 typedef struct _CollectionTests CollectionTests;
54 typedef struct _CollectionTestsClass CollectionTestsClass;
55 typedef struct _CollectionTestsPrivate CollectionTestsPrivate;
56
57 #define TYPE_LIST_TESTS (list_tests_get_type ())
58 #define LIST_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LIST_TESTS, ListTests))
59 #define LIST_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LIST_TESTS, ListTestsClass))
60 #define IS_LIST_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LIST_TESTS))
61 #define IS_LIST_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LIST_TESTS))
62 #define LIST_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LIST_TESTS, ListTestsClass))
63
64 typedef struct _ListTests ListTests;
65 typedef struct _ListTestsClass ListTestsClass;
66 typedef struct _ListTestsPrivate ListTestsPrivate;
67
68 #define TYPE_LINKED_LIST_TESTS (linked_list_tests_get_type ())
69 #define LINKED_LIST_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_LINKED_LIST_TESTS, LinkedListTests))
70 #define LINKED_LIST_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_LINKED_LIST_TESTS, LinkedListTestsClass))
71 #define IS_LINKED_LIST_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_LINKED_LIST_TESTS))
72 #define IS_LINKED_LIST_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_LINKED_LIST_TESTS))
73 #define LINKED_LIST_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_LINKED_LIST_TESTS, LinkedListTestsClass))
74
75 typedef struct _LinkedListTests LinkedListTests;
76 typedef struct _LinkedListTestsClass LinkedListTestsClass;
77 typedef struct _LinkedListTestsPrivate LinkedListTestsPrivate;
78 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
79 #define _g_free0(var) (var = (g_free (var), NULL))
80 #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
81
82 struct _GeeTestCase {
83 GObject parent_instance;
84 GeeTestCasePrivate * priv;
85 };
86
87 struct _GeeTestCaseClass {
88 GObjectClass parent_class;
89 void (*set_up) (GeeTestCase* self);
90 void (*tear_down) (GeeTestCase* self);
91 };
92
93 struct _CollectionTests {
94 GeeTestCase parent_instance;
95 CollectionTestsPrivate * priv;
96 GeeCollection* test_collection;
97 };
98
99 struct _CollectionTestsClass {
100 GeeTestCaseClass parent_class;
101 };
102
103 struct _ListTests {
104 CollectionTests parent_instance;
105 ListTestsPrivate * priv;
106 };
107
108 struct _ListTestsClass {
109 CollectionTestsClass parent_class;
110 void (*test_duplicates_are_retained) (ListTests* self);
111 };
112
113 struct _LinkedListTests {
114 ListTests parent_instance;
115 LinkedListTestsPrivate * priv;
116 };
117
118 struct _LinkedListTestsClass {
119 ListTestsClass parent_class;
120 };
121
122 typedef void (*GeeTestCaseTestMethod) (void* user_data);
123
124 static gpointer linked_list_tests_parent_class = NULL;
125
126 GType gee_test_case_get_type (void) G_GNUC_CONST;
127 GType collection_tests_get_type (void) G_GNUC_CONST;
128 GType list_tests_get_type (void) G_GNUC_CONST;
129 GType linked_list_tests_get_type (void) G_GNUC_CONST;
130 enum {
131 LINKED_LIST_TESTS_DUMMY_PROPERTY
132 };
133 LinkedListTests* linked_list_tests_new (void);
134 LinkedListTests* linked_list_tests_construct (GType object_type);
135 ListTests* list_tests_construct (GType object_type, const gchar* name);
136 void gee_test_case_add_test (GeeTestCase* self, const gchar* name, GeeTestCaseTestMethod test, void* test_target);
137 static void linked_list_tests_test_selected_functions (LinkedListTests* self);
138 static void _linked_list_tests_test_selected_functions_gee_test_case_test_method (gpointer self);
139 void linked_list_tests_test_gobject_properties (LinkedListTests* self);
140 static void _linked_list_tests_test_gobject_properties_gee_test_case_test_method (gpointer self);
141 static void linked_list_tests_test_sort (LinkedListTests* self);
142 static void _linked_list_tests_test_sort_gee_test_case_test_method (gpointer self);
143 static void linked_list_tests_real_set_up (GeeTestCase* base);
144 static void linked_list_tests_real_tear_down (GeeTestCase* base);
145
146
_linked_list_tests_test_selected_functions_gee_test_case_test_method(gpointer self)147 static void _linked_list_tests_test_selected_functions_gee_test_case_test_method (gpointer self) {
148 linked_list_tests_test_selected_functions (self);
149 }
150
151
_linked_list_tests_test_gobject_properties_gee_test_case_test_method(gpointer self)152 static void _linked_list_tests_test_gobject_properties_gee_test_case_test_method (gpointer self) {
153 linked_list_tests_test_gobject_properties (self);
154 }
155
156
_linked_list_tests_test_sort_gee_test_case_test_method(gpointer self)157 static void _linked_list_tests_test_sort_gee_test_case_test_method (gpointer self) {
158 linked_list_tests_test_sort (self);
159 }
160
161
linked_list_tests_construct(GType object_type)162 LinkedListTests* linked_list_tests_construct (GType object_type) {
163 LinkedListTests * self = NULL;
164 self = (LinkedListTests*) list_tests_construct (object_type, "LinkedList");
165 gee_test_case_add_test ((GeeTestCase*) self, "[LinkedList] selected functions", _linked_list_tests_test_selected_functions_gee_test_case_test_method, self);
166 gee_test_case_add_test ((GeeTestCase*) self, "[LinkedList] GObject properties", _linked_list_tests_test_gobject_properties_gee_test_case_test_method, self);
167 gee_test_case_add_test ((GeeTestCase*) self, "[LinkedList] sort", _linked_list_tests_test_sort_gee_test_case_test_method, self);
168 return self;
169 }
170
171
linked_list_tests_new(void)172 LinkedListTests* linked_list_tests_new (void) {
173 return linked_list_tests_construct (TYPE_LINKED_LIST_TESTS);
174 }
175
176
linked_list_tests_real_set_up(GeeTestCase * base)177 static void linked_list_tests_real_set_up (GeeTestCase* base) {
178 LinkedListTests * self;
179 GeeLinkedList* _tmp0_;
180 self = (LinkedListTests*) base;
181 _tmp0_ = gee_linked_list_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, g_free, NULL);
182 _g_object_unref0 (((CollectionTests*) self)->test_collection);
183 ((CollectionTests*) self)->test_collection = (GeeCollection*) _tmp0_;
184 }
185
186
linked_list_tests_real_tear_down(GeeTestCase * base)187 static void linked_list_tests_real_tear_down (GeeTestCase* base) {
188 LinkedListTests * self;
189 self = (LinkedListTests*) base;
190 _g_object_unref0 (((CollectionTests*) self)->test_collection);
191 ((CollectionTests*) self)->test_collection = NULL;
192 }
193
194
_g_object_ref0(gpointer self)195 static gpointer _g_object_ref0 (gpointer self) {
196 return self ? g_object_ref (self) : NULL;
197 }
198
199
linked_list_tests_test_selected_functions(LinkedListTests * self)200 static void linked_list_tests_test_selected_functions (LinkedListTests* self) {
201 GeeCollection* _tmp0_;
202 GeeLinkedList* _tmp1_;
203 GeeLinkedList* test_list;
204 GEqualFunc _tmp2_;
205 GEqualFunc _tmp3_;
206 GEqualFunc _tmp4_;
207 g_return_if_fail (self != NULL);
208 _tmp0_ = ((CollectionTests*) self)->test_collection;
209 _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_LINKED_LIST) ? ((GeeLinkedList*) _tmp0_) : NULL);
210 test_list = _tmp1_;
211 _vala_assert (test_list != NULL, "test_list != null");
212 _tmp2_ = gee_linked_list_get_equal_func (test_list);
213 _tmp3_ = _tmp2_;
214 _tmp4_ = g_str_equal;
215 _vala_assert (_tmp3_ == _tmp4_, "test_list.equal_func == str_equal");
216 _g_object_unref0 (test_list);
217 }
218
219
linked_list_tests_test_gobject_properties(LinkedListTests * self)220 void linked_list_tests_test_gobject_properties (LinkedListTests* self) {
221 GeeCollection* _tmp0_;
222 GeeLinkedList* _tmp1_;
223 GeeLinkedList* test_list;
224 GValue value = {0};
225 GValue _tmp2_ = {0};
226 GValue _tmp3_;
227 void* _tmp4_ = NULL;
228 GEqualFunc _tmp5_;
229 GEqualFunc _tmp6_;
230 g_return_if_fail (self != NULL);
231 _tmp0_ = ((CollectionTests*) self)->test_collection;
232 _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_LINKED_LIST) ? ((GeeLinkedList*) _tmp0_) : NULL);
233 test_list = _tmp1_;
234 _vala_assert (test_list != NULL, "test_list != null");
235 g_value_init (&_tmp2_, G_TYPE_POINTER);
236 G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
237 value = _tmp2_;
238 _tmp3_ = value;
239 g_object_get_property ((GObject*) test_list, "equal-func", &value);
240 _tmp4_ = g_value_get_pointer (&value);
241 _tmp5_ = gee_linked_list_get_equal_func (test_list);
242 _tmp6_ = _tmp5_;
243 _vala_assert (_tmp4_ == ((void*) _tmp6_), "value.get_pointer () == (void*) test_list.equal_func");
244 g_value_unset (&value);
245 G_IS_VALUE (&value) ? (g_value_unset (&value), NULL) : NULL;
246 _g_object_unref0 (test_list);
247 }
248
249
linked_list_tests_test_sort(LinkedListTests * self)250 static void linked_list_tests_test_sort (LinkedListTests* self) {
251 GeeCollection* _tmp0_;
252 GeeLinkedList* _tmp1_;
253 GeeLinkedList* test_list;
254 gpointer _tmp2_ = NULL;
255 gchar* _tmp3_;
256 gpointer _tmp4_ = NULL;
257 gchar* _tmp5_;
258 gpointer _tmp6_ = NULL;
259 gchar* _tmp7_;
260 gpointer _tmp8_ = NULL;
261 gchar* _tmp9_;
262 gpointer _tmp10_ = NULL;
263 gchar* _tmp11_;
264 gpointer _tmp12_ = NULL;
265 gchar* _tmp13_;
266 gpointer _tmp14_ = NULL;
267 gchar* _tmp15_;
268 gpointer _tmp16_ = NULL;
269 gchar* _tmp17_;
270 gpointer _tmp18_ = NULL;
271 gchar* _tmp19_;
272 gpointer _tmp20_ = NULL;
273 gchar* _tmp21_;
274 gpointer _tmp22_ = NULL;
275 gchar* _tmp23_;
276 gpointer _tmp24_ = NULL;
277 gchar* _tmp25_;
278 g_return_if_fail (self != NULL);
279 _tmp0_ = ((CollectionTests*) self)->test_collection;
280 _tmp1_ = _g_object_ref0 (G_TYPE_CHECK_INSTANCE_TYPE (_tmp0_, GEE_TYPE_LINKED_LIST) ? ((GeeLinkedList*) _tmp0_) : NULL);
281 test_list = _tmp1_;
282 _vala_assert (test_list != NULL, "test_list != null");
283 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "one");
284 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "two");
285 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "three");
286 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "four");
287 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "five");
288 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "six");
289 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "seven");
290 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "eight");
291 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "nine");
292 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "ten");
293 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "eleven");
294 gee_abstract_collection_add ((GeeAbstractCollection*) test_list, "twelve");
295 gee_list_sort ((GeeList*) test_list, NULL);
296 _tmp2_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 0);
297 _tmp3_ = (gchar*) _tmp2_;
298 _vala_assert (g_strcmp0 (_tmp3_, "eight") == 0, "test_list.get (0) == \"eight\"");
299 _g_free0 (_tmp3_);
300 _tmp4_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 1);
301 _tmp5_ = (gchar*) _tmp4_;
302 _vala_assert (g_strcmp0 (_tmp5_, "eleven") == 0, "test_list.get (1) == \"eleven\"");
303 _g_free0 (_tmp5_);
304 _tmp6_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 2);
305 _tmp7_ = (gchar*) _tmp6_;
306 _vala_assert (g_strcmp0 (_tmp7_, "five") == 0, "test_list.get (2) == \"five\"");
307 _g_free0 (_tmp7_);
308 _tmp8_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 3);
309 _tmp9_ = (gchar*) _tmp8_;
310 _vala_assert (g_strcmp0 (_tmp9_, "four") == 0, "test_list.get (3) == \"four\"");
311 _g_free0 (_tmp9_);
312 _tmp10_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 4);
313 _tmp11_ = (gchar*) _tmp10_;
314 _vala_assert (g_strcmp0 (_tmp11_, "nine") == 0, "test_list.get (4) == \"nine\"");
315 _g_free0 (_tmp11_);
316 _tmp12_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 5);
317 _tmp13_ = (gchar*) _tmp12_;
318 _vala_assert (g_strcmp0 (_tmp13_, "one") == 0, "test_list.get (5) == \"one\"");
319 _g_free0 (_tmp13_);
320 _tmp14_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 6);
321 _tmp15_ = (gchar*) _tmp14_;
322 _vala_assert (g_strcmp0 (_tmp15_, "seven") == 0, "test_list.get (6) == \"seven\"");
323 _g_free0 (_tmp15_);
324 _tmp16_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 7);
325 _tmp17_ = (gchar*) _tmp16_;
326 _vala_assert (g_strcmp0 (_tmp17_, "six") == 0, "test_list.get (7) == \"six\"");
327 _g_free0 (_tmp17_);
328 _tmp18_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 8);
329 _tmp19_ = (gchar*) _tmp18_;
330 _vala_assert (g_strcmp0 (_tmp19_, "ten") == 0, "test_list.get (8) == \"ten\"");
331 _g_free0 (_tmp19_);
332 _tmp20_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 9);
333 _tmp21_ = (gchar*) _tmp20_;
334 _vala_assert (g_strcmp0 (_tmp21_, "three") == 0, "test_list.get (9) == \"three\"");
335 _g_free0 (_tmp21_);
336 _tmp22_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 10);
337 _tmp23_ = (gchar*) _tmp22_;
338 _vala_assert (g_strcmp0 (_tmp23_, "twelve") == 0, "test_list.get (10) == \"twelve\"");
339 _g_free0 (_tmp23_);
340 _tmp24_ = gee_abstract_list_get ((GeeAbstractList*) test_list, 11);
341 _tmp25_ = (gchar*) _tmp24_;
342 _vala_assert (g_strcmp0 (_tmp25_, "two") == 0, "test_list.get (11) == \"two\"");
343 _g_free0 (_tmp25_);
344 _g_object_unref0 (test_list);
345 }
346
347
linked_list_tests_class_init(LinkedListTestsClass * klass)348 static void linked_list_tests_class_init (LinkedListTestsClass * klass) {
349 linked_list_tests_parent_class = g_type_class_peek_parent (klass);
350 GEE_TEST_CASE_CLASS (klass)->set_up = linked_list_tests_real_set_up;
351 GEE_TEST_CASE_CLASS (klass)->tear_down = linked_list_tests_real_tear_down;
352 }
353
354
linked_list_tests_instance_init(LinkedListTests * self)355 static void linked_list_tests_instance_init (LinkedListTests * self) {
356 }
357
358
linked_list_tests_get_type(void)359 GType linked_list_tests_get_type (void) {
360 static volatile gsize linked_list_tests_type_id__volatile = 0;
361 if (g_once_init_enter (&linked_list_tests_type_id__volatile)) {
362 static const GTypeInfo g_define_type_info = { sizeof (LinkedListTestsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) linked_list_tests_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (LinkedListTests), 0, (GInstanceInitFunc) linked_list_tests_instance_init, NULL };
363 GType linked_list_tests_type_id;
364 linked_list_tests_type_id = g_type_register_static (TYPE_LIST_TESTS, "LinkedListTests", &g_define_type_info, 0);
365 g_once_init_leave (&linked_list_tests_type_id__volatile, linked_list_tests_type_id);
366 }
367 return linked_list_tests_type_id__volatile;
368 }
369
370
371
372