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