1 /* testreadonlymap.c generated by valac 0.46.6, the Vala compiler
2  * generated from testreadonlymap.vala, do not modify */
3 
4 /* testreadonlymap.vala
5  *
6  * Copyright (C) 2008  Jürg Billeter
7  * Copyright (C) 2009  Didier Villevalois
8  *
9  * This library is free software; you can redistribute it and/or
10  * modify it under the terms of the GNU Lesser General Public
11  * License as published by the Free Software Foundation; either
12  * version 2.1 of the License, or (at your option) any later version.
13 
14  * This library is distributed in the hope that it will be useful,
15  * but WITHOUT ANY WARRANTY; without even the implied warranty of
16  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
17  * Lesser General Public License for more details.
18 
19  * You should have received a copy of the GNU Lesser General Public
20  * License along with this library; if not, write to the Free Software
21  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301  USA
22  *
23  * Author:
24  * 	Didier 'Ptitjes' Villevalois <ptitjes@free.fr>
25  */
26 
27 #include <glib-object.h>
28 #include <gee.h>
29 #include <stdlib.h>
30 #include <string.h>
31 #include <glib.h>
32 
33 #define GEE_TYPE_TEST_CASE (gee_test_case_get_type ())
34 #define GEE_TEST_CASE(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), GEE_TYPE_TEST_CASE, GeeTestCase))
35 #define GEE_TEST_CASE_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), GEE_TYPE_TEST_CASE, GeeTestCaseClass))
36 #define GEE_IS_TEST_CASE(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), GEE_TYPE_TEST_CASE))
37 #define GEE_IS_TEST_CASE_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), GEE_TYPE_TEST_CASE))
38 #define GEE_TEST_CASE_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), GEE_TYPE_TEST_CASE, GeeTestCaseClass))
39 
40 typedef struct _GeeTestCase GeeTestCase;
41 typedef struct _GeeTestCaseClass GeeTestCaseClass;
42 typedef struct _GeeTestCasePrivate GeeTestCasePrivate;
43 
44 #define TYPE_READ_ONLY_MAP_TESTS (read_only_map_tests_get_type ())
45 #define READ_ONLY_MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_CAST ((obj), TYPE_READ_ONLY_MAP_TESTS, ReadOnlyMapTests))
46 #define READ_ONLY_MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_CAST ((klass), TYPE_READ_ONLY_MAP_TESTS, ReadOnlyMapTestsClass))
47 #define IS_READ_ONLY_MAP_TESTS(obj) (G_TYPE_CHECK_INSTANCE_TYPE ((obj), TYPE_READ_ONLY_MAP_TESTS))
48 #define IS_READ_ONLY_MAP_TESTS_CLASS(klass) (G_TYPE_CHECK_CLASS_TYPE ((klass), TYPE_READ_ONLY_MAP_TESTS))
49 #define READ_ONLY_MAP_TESTS_GET_CLASS(obj) (G_TYPE_INSTANCE_GET_CLASS ((obj), TYPE_READ_ONLY_MAP_TESTS, ReadOnlyMapTestsClass))
50 
51 typedef struct _ReadOnlyMapTests ReadOnlyMapTests;
52 typedef struct _ReadOnlyMapTestsClass ReadOnlyMapTestsClass;
53 typedef struct _ReadOnlyMapTestsPrivate ReadOnlyMapTestsPrivate;
54 enum  {
55 	READ_ONLY_MAP_TESTS_0_PROPERTY,
56 	READ_ONLY_MAP_TESTS_NUM_PROPERTIES
57 };
58 static GParamSpec* read_only_map_tests_properties[READ_ONLY_MAP_TESTS_NUM_PROPERTIES];
59 #define _g_object_unref0(var) ((var == NULL) ? NULL : (var = (g_object_unref (var), NULL)))
60 typedef void (*GeeTestCaseTestMethod) (gpointer user_data);
61 #define _g_free0(var) (var = (g_free (var), NULL))
62 #define _vala_assert(expr, msg) if G_LIKELY (expr) ; else g_assertion_message_expr (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
63 #define _vala_return_if_fail(expr, msg) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return; }
64 #define _vala_return_val_if_fail(expr, msg, val) if G_LIKELY (expr) ; else { g_return_if_fail_warning (G_LOG_DOMAIN, G_STRFUNC, msg); return val; }
65 #define _vala_warn_if_fail(expr, msg) if G_LIKELY (expr) ; else g_warn_message (G_LOG_DOMAIN, __FILE__, __LINE__, G_STRFUNC, msg);
66 
67 struct _GeeTestCase {
68 	GObject parent_instance;
69 	GeeTestCasePrivate * priv;
70 };
71 
72 struct _GeeTestCaseClass {
73 	GObjectClass parent_class;
74 	void (*set_up) (GeeTestCase* self);
75 	void (*tear_down) (GeeTestCase* self);
76 };
77 
78 struct _ReadOnlyMapTests {
79 	GeeTestCase parent_instance;
80 	ReadOnlyMapTestsPrivate * priv;
81 	GeeMap* test_map;
82 	GeeMap* ro_map;
83 };
84 
85 struct _ReadOnlyMapTestsClass {
86 	GeeTestCaseClass parent_class;
87 };
88 
89 static gpointer read_only_map_tests_parent_class = NULL;
90 
91 GType gee_test_case_get_type (void) G_GNUC_CONST;
92 G_DEFINE_AUTOPTR_CLEANUP_FUNC (GeeTestCase, g_object_unref)
93 GType read_only_map_tests_get_type (void) G_GNUC_CONST;
94 G_DEFINE_AUTOPTR_CLEANUP_FUNC (ReadOnlyMapTests, g_object_unref)
95 ReadOnlyMapTests* read_only_map_tests_new (void);
96 ReadOnlyMapTests* read_only_map_tests_construct (GType object_type);
97 GeeTestCase* gee_test_case_construct (GType object_type,
98                                       const gchar* name);
99 void gee_test_case_add_test (GeeTestCase* self,
100                              const gchar* name,
101                              GeeTestCaseTestMethod test,
102                              gpointer test_target,
103                              GDestroyNotify test_target_destroy_notify);
104 void read_only_map_tests_test_unique_read_only_view_instance (ReadOnlyMapTests* self);
105 static void _read_only_map_tests_test_unique_read_only_view_instance_gee_test_case_test_method (gpointer self);
106 void read_only_map_tests_test_immutable_iterator (ReadOnlyMapTests* self);
107 static void _read_only_map_tests_test_immutable_iterator_gee_test_case_test_method (gpointer self);
108 void read_only_map_tests_test_immutable (ReadOnlyMapTests* self);
109 static void _read_only_map_tests_test_immutable_gee_test_case_test_method (gpointer self);
110 void read_only_map_tests_test_accurate_view (ReadOnlyMapTests* self);
111 static void _read_only_map_tests_test_accurate_view_gee_test_case_test_method (gpointer self);
112 static void read_only_map_tests_real_set_up (GeeTestCase* base);
113 static void read_only_map_tests_real_tear_down (GeeTestCase* base);
114 static void read_only_map_tests_finalize (GObject * obj);
115 
116 static void
_read_only_map_tests_test_unique_read_only_view_instance_gee_test_case_test_method(gpointer self)117 _read_only_map_tests_test_unique_read_only_view_instance_gee_test_case_test_method (gpointer self)
118 {
119 	read_only_map_tests_test_unique_read_only_view_instance ((ReadOnlyMapTests*) self);
120 }
121 
122 static void
_read_only_map_tests_test_immutable_iterator_gee_test_case_test_method(gpointer self)123 _read_only_map_tests_test_immutable_iterator_gee_test_case_test_method (gpointer self)
124 {
125 	read_only_map_tests_test_immutable_iterator ((ReadOnlyMapTests*) self);
126 }
127 
128 static void
_read_only_map_tests_test_immutable_gee_test_case_test_method(gpointer self)129 _read_only_map_tests_test_immutable_gee_test_case_test_method (gpointer self)
130 {
131 	read_only_map_tests_test_immutable ((ReadOnlyMapTests*) self);
132 }
133 
134 static void
_read_only_map_tests_test_accurate_view_gee_test_case_test_method(gpointer self)135 _read_only_map_tests_test_accurate_view_gee_test_case_test_method (gpointer self)
136 {
137 	read_only_map_tests_test_accurate_view ((ReadOnlyMapTests*) self);
138 }
139 
140 ReadOnlyMapTests*
read_only_map_tests_construct(GType object_type)141 read_only_map_tests_construct (GType object_type)
142 {
143 	ReadOnlyMapTests * self = NULL;
144 	self = (ReadOnlyMapTests*) gee_test_case_construct (object_type, "ReadOnlyMap");
145 	gee_test_case_add_test ((GeeTestCase*) self, "[ReadOnlyMap] unique read-only view instance", _read_only_map_tests_test_unique_read_only_view_instance_gee_test_case_test_method, g_object_ref (self), g_object_unref);
146 	gee_test_case_add_test ((GeeTestCase*) self, "[ReadOnlyMap] immutable iterator", _read_only_map_tests_test_immutable_iterator_gee_test_case_test_method, g_object_ref (self), g_object_unref);
147 	gee_test_case_add_test ((GeeTestCase*) self, "[ReadOnlyMap] immutable", _read_only_map_tests_test_immutable_gee_test_case_test_method, g_object_ref (self), g_object_unref);
148 	gee_test_case_add_test ((GeeTestCase*) self, "[ReadOnlyMap] accurate view", _read_only_map_tests_test_accurate_view_gee_test_case_test_method, g_object_ref (self), g_object_unref);
149 	return self;
150 }
151 
152 ReadOnlyMapTests*
read_only_map_tests_new(void)153 read_only_map_tests_new (void)
154 {
155 	return read_only_map_tests_construct (TYPE_READ_ONLY_MAP_TESTS);
156 }
157 
158 static void
read_only_map_tests_real_set_up(GeeTestCase * base)159 read_only_map_tests_real_set_up (GeeTestCase* base)
160 {
161 	ReadOnlyMapTests * self;
162 	GeeTreeMap* _tmp0_;
163 	GeeMap* _tmp1_;
164 	GeeMap* _tmp2_;
165 	GeeMap* _tmp3_;
166 	self = (ReadOnlyMapTests*) base;
167 	_tmp0_ = gee_tree_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL);
168 	_g_object_unref0 (self->test_map);
169 	self->test_map = (GeeMap*) _tmp0_;
170 	_tmp1_ = self->test_map;
171 	_tmp2_ = gee_map_get_read_only_view (_tmp1_);
172 	_tmp3_ = _tmp2_;
173 	_g_object_unref0 (self->ro_map);
174 	self->ro_map = _tmp3_;
175 }
176 
177 static void
read_only_map_tests_real_tear_down(GeeTestCase * base)178 read_only_map_tests_real_tear_down (GeeTestCase* base)
179 {
180 	ReadOnlyMapTests * self;
181 	self = (ReadOnlyMapTests*) base;
182 	_g_object_unref0 (self->test_map);
183 	self->test_map = NULL;
184 	_g_object_unref0 (self->ro_map);
185 	self->ro_map = NULL;
186 }
187 
188 void
read_only_map_tests_test_unique_read_only_view_instance(ReadOnlyMapTests * self)189 read_only_map_tests_test_unique_read_only_view_instance (ReadOnlyMapTests* self)
190 {
191 	GeeMap* another_ro_map = NULL;
192 	GeeMap* _tmp0_;
193 	GeeMap* _tmp1_;
194 	GeeMap* _tmp2_;
195 	GeeMap* _tmp3_;
196 	GeeMap* _tmp4_;
197 	GeeMap* _tmp5_;
198 	GObject* _tmp6_;
199 	GeeMap* _tmp7_;
200 	gconstpointer _tmp8_;
201 	GeeMap* _tmp9_;
202 	GeeMap* _tmp10_;
203 	GeeMap* _tmp11_;
204 	GeeMap* _tmp12_;
205 	gconstpointer _tmp13_;
206 	GeeMap* _tmp14_;
207 	GeeMap* _tmp15_;
208 	GeeMap* _tmp16_;
209 	GeeMap* _tmp17_;
210 	GeeMap* _tmp18_;
211 	g_return_if_fail (self != NULL);
212 	_tmp0_ = self->test_map;
213 	_tmp1_ = gee_map_get_read_only_view (_tmp0_);
214 	_tmp2_ = _tmp1_;
215 	another_ro_map = _tmp2_;
216 	_tmp3_ = self->ro_map;
217 	_tmp4_ = another_ro_map;
218 	_vala_assert (_tmp3_ == _tmp4_, "ro_map == another_ro_map");
219 	_tmp5_ = self->ro_map;
220 	_tmp6_ = g_object_new (G_TYPE_OBJECT, NULL);
221 	g_object_set_data_full ((GObject*) _tmp5_, "marker", _tmp6_, g_object_unref);
222 	_tmp7_ = another_ro_map;
223 	_tmp8_ = g_object_get_data ((GObject*) _tmp7_, "marker");
224 	_vala_assert (((GObject*) _tmp8_) != NULL, "another_ro_map.get_data<Object> (\"marker\") != null");
225 	_g_object_unref0 (another_ro_map);
226 	another_ro_map = NULL;
227 	_g_object_unref0 (self->ro_map);
228 	self->ro_map = NULL;
229 	_tmp9_ = self->test_map;
230 	_tmp10_ = gee_map_get_read_only_view (_tmp9_);
231 	_tmp11_ = _tmp10_;
232 	_g_object_unref0 (another_ro_map);
233 	another_ro_map = _tmp11_;
234 	_tmp12_ = another_ro_map;
235 	_tmp13_ = g_object_get_data ((GObject*) _tmp12_, "marker");
236 	_vala_assert (((GObject*) _tmp13_) == NULL, "another_ro_map.get_data<Object> (\"marker\") == null");
237 	_tmp14_ = another_ro_map;
238 	_tmp15_ = another_ro_map;
239 	_tmp16_ = gee_map_get_read_only_view (_tmp15_);
240 	_tmp17_ = _tmp16_;
241 	_tmp18_ = _tmp17_;
242 	_vala_assert (_tmp14_ == _tmp18_, "another_ro_map == another_ro_map.read_only_view");
243 	_g_object_unref0 (_tmp18_);
244 	_g_object_unref0 (another_ro_map);
245 }
246 
247 void
read_only_map_tests_test_immutable_iterator(ReadOnlyMapTests * self)248 read_only_map_tests_test_immutable_iterator (ReadOnlyMapTests* self)
249 {
250 	GeeMap* _tmp0_;
251 	GeeMap* _tmp1_;
252 	GeeMap* _tmp2_;
253 	gint _tmp3_;
254 	gint _tmp4_;
255 	GeeMap* _tmp5_;
256 	GeeMap* _tmp6_;
257 	GeeMap* _tmp7_;
258 	GeeMap* _tmp8_;
259 	GeeIterator* iterator = NULL;
260 	GeeMap* _tmp9_;
261 	GeeSet* _tmp10_;
262 	GeeSet* _tmp11_;
263 	GeeSet* _tmp12_;
264 	GeeIterator* _tmp13_;
265 	GeeIterator* _tmp14_;
266 	GeeIterator* _tmp15_;
267 	GeeIterator* _tmp16_;
268 	GeeIterator* _tmp17_;
269 	gpointer _tmp18_;
270 	gchar* _tmp19_;
271 	GeeIterator* _tmp20_;
272 	GeeIterator* _tmp21_;
273 	GeeIterator* _tmp22_;
274 	gpointer _tmp23_;
275 	gchar* _tmp24_;
276 	GeeIterator* _tmp25_;
277 	GeeIterator* _tmp26_;
278 	GeeMap* _tmp27_;
279 	GeeSet* _tmp28_;
280 	GeeSet* _tmp29_;
281 	GeeSet* _tmp30_;
282 	GeeIterator* _tmp31_;
283 	GeeIterator* _tmp32_;
284 	GeeIterator* _tmp33_;
285 	GeeIterator* _tmp34_;
286 	gpointer _tmp35_;
287 	gchar* _tmp36_;
288 	GeeMap* _tmp38_;
289 	gint _tmp39_;
290 	gint _tmp40_;
291 	GeeMap* _tmp41_;
292 	GeeMap* _tmp42_;
293 	GeeMap* _tmp43_;
294 	GeeMap* _tmp44_;
295 	g_return_if_fail (self != NULL);
296 	_tmp0_ = self->test_map;
297 	gee_map_set (_tmp0_, "one", "one");
298 	_tmp1_ = self->test_map;
299 	gee_map_set (_tmp1_, "two", "two");
300 	_tmp2_ = self->ro_map;
301 	_tmp3_ = gee_map_get_size (_tmp2_);
302 	_tmp4_ = _tmp3_;
303 	_vala_assert (_tmp4_ == 2, "ro_map.size == 2");
304 	_tmp5_ = self->ro_map;
305 	_vala_assert (gee_map_has_key (_tmp5_, "one"), "ro_map.has_key (\"one\")");
306 	_tmp6_ = self->ro_map;
307 	_vala_assert (gee_map_has (_tmp6_, "one", "one"), "ro_map.has (\"one\", \"one\")");
308 	_tmp7_ = self->ro_map;
309 	_vala_assert (gee_map_has_key (_tmp7_, "two"), "ro_map.has_key (\"two\")");
310 	_tmp8_ = self->ro_map;
311 	_vala_assert (gee_map_has (_tmp8_, "two", "two"), "ro_map.has (\"two\", \"two\")");
312 	_tmp9_ = self->ro_map;
313 	_tmp10_ = gee_map_get_keys (_tmp9_);
314 	_tmp11_ = _tmp10_;
315 	_tmp12_ = _tmp11_;
316 	_tmp13_ = gee_iterable_iterator ((GeeIterable*) _tmp12_);
317 	_tmp14_ = _tmp13_;
318 	_g_object_unref0 (_tmp12_);
319 	iterator = _tmp14_;
320 	_tmp15_ = iterator;
321 	_vala_assert (gee_iterator_has_next (_tmp15_), "iterator.has_next ()");
322 	_tmp16_ = iterator;
323 	_vala_assert (gee_iterator_next (_tmp16_), "iterator.next ()");
324 	_tmp17_ = iterator;
325 	_tmp18_ = gee_iterator_get (_tmp17_);
326 	_tmp19_ = (gchar*) _tmp18_;
327 	_vala_assert (g_strcmp0 (_tmp19_, "one") == 0, "iterator.get () == \"one\"");
328 	_g_free0 (_tmp19_);
329 	_tmp20_ = iterator;
330 	_vala_assert (gee_iterator_has_next (_tmp20_), "iterator.has_next ()");
331 	_tmp21_ = iterator;
332 	_vala_assert (gee_iterator_next (_tmp21_), "iterator.next ()");
333 	_tmp22_ = iterator;
334 	_tmp23_ = gee_iterator_get (_tmp22_);
335 	_tmp24_ = (gchar*) _tmp23_;
336 	_vala_assert (g_strcmp0 (_tmp24_, "two") == 0, "iterator.get () == \"two\"");
337 	_g_free0 (_tmp24_);
338 	_tmp25_ = iterator;
339 	_vala_assert (!gee_iterator_has_next (_tmp25_), "! iterator.has_next ()");
340 	_tmp26_ = iterator;
341 	_vala_assert (!gee_iterator_next (_tmp26_), "! iterator.next ()");
342 	_tmp27_ = self->ro_map;
343 	_tmp28_ = gee_map_get_keys (_tmp27_);
344 	_tmp29_ = _tmp28_;
345 	_tmp30_ = _tmp29_;
346 	_tmp31_ = gee_iterable_iterator ((GeeIterable*) _tmp30_);
347 	_g_object_unref0 (iterator);
348 	iterator = _tmp31_;
349 	_g_object_unref0 (_tmp30_);
350 	_tmp32_ = iterator;
351 	_vala_assert (gee_iterator_has_next (_tmp32_), "iterator.has_next ()");
352 	_tmp33_ = iterator;
353 	_vala_assert (gee_iterator_next (_tmp33_), "iterator.next ()");
354 	_tmp34_ = iterator;
355 	_tmp35_ = gee_iterator_get (_tmp34_);
356 	_tmp36_ = (gchar*) _tmp35_;
357 	_vala_assert (g_strcmp0 (_tmp36_, "one") == 0, "iterator.get () == \"one\"");
358 	_g_free0 (_tmp36_);
359 	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
360 		GeeIterator* _tmp37_;
361 		_tmp37_ = iterator;
362 		gee_iterator_remove (_tmp37_);
363 		exit (0);
364 	}
365 	g_test_trap_assert_failed ();
366 	_tmp38_ = self->ro_map;
367 	_tmp39_ = gee_map_get_size (_tmp38_);
368 	_tmp40_ = _tmp39_;
369 	_vala_assert (_tmp40_ == 2, "ro_map.size == 2");
370 	_tmp41_ = self->ro_map;
371 	_vala_assert (gee_map_has_key (_tmp41_, "one"), "ro_map.has_key (\"one\")");
372 	_tmp42_ = self->ro_map;
373 	_vala_assert (gee_map_has (_tmp42_, "one", "one"), "ro_map.has (\"one\", \"one\")");
374 	_tmp43_ = self->ro_map;
375 	_vala_assert (gee_map_has_key (_tmp43_, "two"), "ro_map.has_key (\"two\")");
376 	_tmp44_ = self->ro_map;
377 	_vala_assert (gee_map_has (_tmp44_, "two", "two"), "ro_map.has (\"two\", \"two\")");
378 	_g_object_unref0 (iterator);
379 }
380 
381 void
read_only_map_tests_test_immutable(ReadOnlyMapTests * self)382 read_only_map_tests_test_immutable (ReadOnlyMapTests* self)
383 {
384 	GeeMap* _tmp0_;
385 	GeeMap* _tmp1_;
386 	gint _tmp2_;
387 	gint _tmp3_;
388 	GeeMap* _tmp4_;
389 	GeeMap* _tmp5_;
390 	GeeMap* dummy = NULL;
391 	GeeHashMap* _tmp6_;
392 	GeeMap* _tmp7_;
393 	GeeMap* _tmp8_;
394 	GeeMap* _tmp10_;
395 	gint _tmp11_;
396 	gint _tmp12_;
397 	GeeMap* _tmp13_;
398 	GeeMap* _tmp14_;
399 	GeeMap* _tmp16_;
400 	gint _tmp17_;
401 	gint _tmp18_;
402 	GeeMap* _tmp19_;
403 	GeeMap* _tmp20_;
404 	GeeMap* _tmp22_;
405 	gint _tmp23_;
406 	gint _tmp24_;
407 	GeeMap* _tmp25_;
408 	GeeMap* _tmp26_;
409 	GeeMap* _tmp29_;
410 	gint _tmp30_;
411 	gint _tmp31_;
412 	GeeMap* _tmp32_;
413 	GeeMap* _tmp33_;
414 	GeeMap* _tmp36_;
415 	gint _tmp37_;
416 	gint _tmp38_;
417 	GeeMap* _tmp39_;
418 	GeeMap* _tmp40_;
419 	g_return_if_fail (self != NULL);
420 	_tmp0_ = self->test_map;
421 	gee_map_set (_tmp0_, "one", "one");
422 	_tmp1_ = self->ro_map;
423 	_tmp2_ = gee_map_get_size (_tmp1_);
424 	_tmp3_ = _tmp2_;
425 	_vala_assert (_tmp3_ == 1, "ro_map.size == 1");
426 	_tmp4_ = self->ro_map;
427 	_vala_assert (gee_map_has_key (_tmp4_, "one"), "ro_map.has_key (\"one\")");
428 	_tmp5_ = self->ro_map;
429 	_vala_assert (gee_map_has (_tmp5_, "one", "one"), "ro_map.has (\"one\", \"one\")");
430 	_tmp6_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
431 	dummy = (GeeMap*) _tmp6_;
432 	_tmp7_ = dummy;
433 	gee_map_set (_tmp7_, "one", "one");
434 	_tmp8_ = dummy;
435 	gee_map_set (_tmp8_, "two", "two");
436 	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
437 		GeeMap* _tmp9_;
438 		_tmp9_ = self->ro_map;
439 		gee_map_set (_tmp9_, "two", "two");
440 		exit (0);
441 	}
442 	g_test_trap_assert_failed ();
443 	_tmp10_ = self->ro_map;
444 	_tmp11_ = gee_map_get_size (_tmp10_);
445 	_tmp12_ = _tmp11_;
446 	_vala_assert (_tmp12_ == 1, "ro_map.size == 1");
447 	_tmp13_ = self->ro_map;
448 	_vala_assert (gee_map_has_key (_tmp13_, "one"), "ro_map.has_key (\"one\")");
449 	_tmp14_ = self->ro_map;
450 	_vala_assert (gee_map_has (_tmp14_, "one", "one"), "ro_map.has (\"one\", \"one\")");
451 	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
452 		GeeMap* _tmp15_;
453 		_tmp15_ = self->ro_map;
454 		gee_map_clear (_tmp15_);
455 		exit (0);
456 	}
457 	g_test_trap_assert_failed ();
458 	_tmp16_ = self->ro_map;
459 	_tmp17_ = gee_map_get_size (_tmp16_);
460 	_tmp18_ = _tmp17_;
461 	_vala_assert (_tmp18_ == 1, "ro_map.size == 1");
462 	_tmp19_ = self->ro_map;
463 	_vala_assert (gee_map_has_key (_tmp19_, "one"), "ro_map.has_key (\"one\")");
464 	_tmp20_ = self->ro_map;
465 	_vala_assert (gee_map_has (_tmp20_, "one", "one"), "ro_map.has (\"one\", \"one\")");
466 	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
467 		GeeMap* _tmp21_;
468 		_tmp21_ = self->ro_map;
469 		_vala_assert (gee_map_unset (_tmp21_, "one", NULL), "ro_map.unset (\"one\")");
470 		exit (0);
471 	}
472 	g_test_trap_assert_failed ();
473 	_tmp22_ = self->ro_map;
474 	_tmp23_ = gee_map_get_size (_tmp22_);
475 	_tmp24_ = _tmp23_;
476 	_vala_assert (_tmp24_ == 1, "ro_map.size == 1");
477 	_tmp25_ = self->ro_map;
478 	_vala_assert (gee_map_has_key (_tmp25_, "one"), "ro_map.has_key (\"one\")");
479 	_tmp26_ = self->ro_map;
480 	_vala_assert (gee_map_has (_tmp26_, "one", "one"), "ro_map.has (\"one\", \"one\")");
481 	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
482 		GeeMap* _tmp27_;
483 		GeeMap* _tmp28_;
484 		_tmp27_ = self->ro_map;
485 		_tmp28_ = dummy;
486 		gee_map_set_all (_tmp27_, _tmp28_);
487 		exit (0);
488 	}
489 	g_test_trap_assert_failed ();
490 	_tmp29_ = self->ro_map;
491 	_tmp30_ = gee_map_get_size (_tmp29_);
492 	_tmp31_ = _tmp30_;
493 	_vala_assert (_tmp31_ == 1, "ro_map.size == 1");
494 	_tmp32_ = self->ro_map;
495 	_vala_assert (gee_map_has_key (_tmp32_, "one"), "ro_map.has_key (\"one\")");
496 	_tmp33_ = self->ro_map;
497 	_vala_assert (gee_map_has (_tmp33_, "one", "one"), "ro_map.has (\"one\", \"one\")");
498 	if (g_test_trap_fork ((guint64) 0, G_TEST_TRAP_SILENCE_STDOUT | G_TEST_TRAP_SILENCE_STDERR)) {
499 		GeeMap* _tmp34_;
500 		GeeMap* _tmp35_;
501 		_tmp34_ = self->ro_map;
502 		_tmp35_ = dummy;
503 		_vala_assert (gee_map_unset_all (_tmp34_, _tmp35_), "ro_map.unset_all (dummy)");
504 		exit (0);
505 	}
506 	g_test_trap_assert_failed ();
507 	_tmp36_ = self->ro_map;
508 	_tmp37_ = gee_map_get_size (_tmp36_);
509 	_tmp38_ = _tmp37_;
510 	_vala_assert (_tmp38_ == 1, "ro_map.size == 1");
511 	_tmp39_ = self->ro_map;
512 	_vala_assert (gee_map_has_key (_tmp39_, "one"), "ro_map.has_key (\"one\")");
513 	_tmp40_ = self->ro_map;
514 	_vala_assert (gee_map_has (_tmp40_, "one", "one"), "ro_map.has (\"one\", \"one\")");
515 	_g_object_unref0 (dummy);
516 }
517 
518 void
read_only_map_tests_test_accurate_view(ReadOnlyMapTests * self)519 read_only_map_tests_test_accurate_view (ReadOnlyMapTests* self)
520 {
521 	GeeMap* dummy = NULL;
522 	GeeHashMap* _tmp0_;
523 	GeeMap* _tmp1_;
524 	gint _tmp2_;
525 	gint _tmp3_;
526 	GeeMap* _tmp4_;
527 	gboolean _tmp5_;
528 	gboolean _tmp6_;
529 	GeeMap* _tmp7_;
530 	GeeMap* _tmp8_;
531 	GeeMap* _tmp9_;
532 	gpointer _tmp10_;
533 	gchar* _tmp11_;
534 	GeeMap* _tmp12_;
535 	GeeMap* _tmp13_;
536 	gint _tmp14_;
537 	gint _tmp15_;
538 	GeeMap* _tmp16_;
539 	gboolean _tmp17_;
540 	gboolean _tmp18_;
541 	GeeMap* _tmp19_;
542 	GeeMap* _tmp20_;
543 	GeeMap* _tmp21_;
544 	gpointer _tmp22_;
545 	gchar* _tmp23_;
546 	GeeMap* _tmp24_;
547 	GeeMap* _tmp25_;
548 	gint _tmp26_;
549 	gint _tmp27_;
550 	GeeMap* _tmp28_;
551 	gboolean _tmp29_;
552 	gboolean _tmp30_;
553 	GeeMap* _tmp31_;
554 	GeeMap* _tmp32_;
555 	GeeMap* _tmp33_;
556 	gpointer _tmp34_;
557 	gchar* _tmp35_;
558 	GeeMap* _tmp36_;
559 	GeeMap* _tmp37_;
560 	GeeMap* _tmp38_;
561 	gpointer _tmp39_;
562 	gchar* _tmp40_;
563 	GeeMap* _tmp41_;
564 	GeeMap* _tmp42_;
565 	GeeMap* _tmp43_;
566 	gint _tmp44_;
567 	gint _tmp45_;
568 	GeeMap* _tmp46_;
569 	gboolean _tmp47_;
570 	gboolean _tmp48_;
571 	GeeMap* _tmp49_;
572 	GeeMap* _tmp50_;
573 	GeeMap* _tmp51_;
574 	gpointer _tmp52_;
575 	gchar* _tmp53_;
576 	GeeMap* _tmp54_;
577 	GeeMap* _tmp55_;
578 	GeeMap* _tmp56_;
579 	gpointer _tmp57_;
580 	gchar* _tmp58_;
581 	GeeMap* _tmp59_;
582 	GeeMap* _tmp60_;
583 	GeeMap* _tmp61_;
584 	gint _tmp62_;
585 	gint _tmp63_;
586 	GeeMap* _tmp64_;
587 	gboolean _tmp65_;
588 	gboolean _tmp66_;
589 	GeeMap* _tmp67_;
590 	GeeMap* _tmp68_;
591 	GeeMap* _tmp69_;
592 	gpointer _tmp70_;
593 	gchar* _tmp71_;
594 	GeeMap* _tmp72_;
595 	gpointer _tmp73_;
596 	gchar* _tmp74_;
597 	g_return_if_fail (self != NULL);
598 	_tmp0_ = gee_hash_map_new (G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, G_TYPE_STRING, (GBoxedCopyFunc) g_strdup, (GDestroyNotify) g_free, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL);
599 	dummy = (GeeMap*) _tmp0_;
600 	gee_map_set (dummy, "one", "one");
601 	gee_map_set (dummy, "two", "two");
602 	_tmp1_ = self->ro_map;
603 	_tmp2_ = gee_map_get_size (_tmp1_);
604 	_tmp3_ = _tmp2_;
605 	_vala_assert (_tmp3_ == 0, "ro_map.size == 0");
606 	_tmp4_ = self->ro_map;
607 	_tmp5_ = gee_map_get_is_empty (_tmp4_);
608 	_tmp6_ = _tmp5_;
609 	_vala_assert (_tmp6_, "ro_map.is_empty");
610 	_tmp7_ = self->ro_map;
611 	_vala_assert (!gee_map_has_key (_tmp7_, "one"), "! ro_map.has_key (\"one\")");
612 	_tmp8_ = self->ro_map;
613 	_vala_assert (!gee_map_has (_tmp8_, "one", "one"), "! ro_map.has (\"one\", \"one\")");
614 	_tmp9_ = self->ro_map;
615 	_tmp10_ = gee_map_get (_tmp9_, "one");
616 	_tmp11_ = (gchar*) _tmp10_;
617 	_vala_assert (_tmp11_ == NULL, "ro_map.get (\"one\") == null");
618 	_g_free0 (_tmp11_);
619 	_tmp12_ = self->test_map;
620 	gee_map_set (_tmp12_, "one", "one");
621 	_tmp13_ = self->ro_map;
622 	_tmp14_ = gee_map_get_size (_tmp13_);
623 	_tmp15_ = _tmp14_;
624 	_vala_assert (_tmp15_ == 1, "ro_map.size == 1");
625 	_tmp16_ = self->ro_map;
626 	_tmp17_ = gee_map_get_is_empty (_tmp16_);
627 	_tmp18_ = _tmp17_;
628 	_vala_assert (!_tmp18_, "! ro_map.is_empty");
629 	_tmp19_ = self->ro_map;
630 	_vala_assert (gee_map_has_key (_tmp19_, "one"), "ro_map.has_key (\"one\")");
631 	_tmp20_ = self->ro_map;
632 	_vala_assert (gee_map_has (_tmp20_, "one", "one"), "ro_map.has (\"one\", \"one\")");
633 	_tmp21_ = self->ro_map;
634 	_tmp22_ = gee_map_get (_tmp21_, "one");
635 	_tmp23_ = (gchar*) _tmp22_;
636 	_vala_assert (g_strcmp0 (_tmp23_, "one") == 0, "ro_map.get (\"one\") == \"one\"");
637 	_g_free0 (_tmp23_);
638 	_tmp24_ = self->test_map;
639 	gee_map_set (_tmp24_, "two", "two");
640 	_tmp25_ = self->ro_map;
641 	_tmp26_ = gee_map_get_size (_tmp25_);
642 	_tmp27_ = _tmp26_;
643 	_vala_assert (_tmp27_ == 2, "ro_map.size == 2");
644 	_tmp28_ = self->ro_map;
645 	_tmp29_ = gee_map_get_is_empty (_tmp28_);
646 	_tmp30_ = _tmp29_;
647 	_vala_assert (!_tmp30_, "! ro_map.is_empty");
648 	_tmp31_ = self->ro_map;
649 	_vala_assert (gee_map_has_key (_tmp31_, "one"), "ro_map.has_key (\"one\")");
650 	_tmp32_ = self->ro_map;
651 	_vala_assert (gee_map_has (_tmp32_, "one", "one"), "ro_map.has (\"one\", \"one\")");
652 	_tmp33_ = self->ro_map;
653 	_tmp34_ = gee_map_get (_tmp33_, "one");
654 	_tmp35_ = (gchar*) _tmp34_;
655 	_vala_assert (g_strcmp0 (_tmp35_, "one") == 0, "ro_map.get (\"one\") == \"one\"");
656 	_g_free0 (_tmp35_);
657 	_tmp36_ = self->ro_map;
658 	_vala_assert (gee_map_has_key (_tmp36_, "two"), "ro_map.has_key (\"two\")");
659 	_tmp37_ = self->ro_map;
660 	_vala_assert (gee_map_has (_tmp37_, "two", "two"), "ro_map.has (\"two\", \"two\")");
661 	_tmp38_ = self->ro_map;
662 	_tmp39_ = gee_map_get (_tmp38_, "two");
663 	_tmp40_ = (gchar*) _tmp39_;
664 	_vala_assert (g_strcmp0 (_tmp40_, "two") == 0, "ro_map.get (\"two\") == \"two\"");
665 	_g_free0 (_tmp40_);
666 	_tmp41_ = self->ro_map;
667 	_vala_assert (gee_map_has_all (_tmp41_, dummy), "ro_map.has_all (dummy)");
668 	_tmp42_ = self->test_map;
669 	_vala_assert (gee_map_unset (_tmp42_, "one", NULL), "test_map.unset (\"one\")");
670 	_tmp43_ = self->ro_map;
671 	_tmp44_ = gee_map_get_size (_tmp43_);
672 	_tmp45_ = _tmp44_;
673 	_vala_assert (_tmp45_ == 1, "ro_map.size == 1");
674 	_tmp46_ = self->ro_map;
675 	_tmp47_ = gee_map_get_is_empty (_tmp46_);
676 	_tmp48_ = _tmp47_;
677 	_vala_assert (!_tmp48_, "! ro_map.is_empty");
678 	_tmp49_ = self->ro_map;
679 	_vala_assert (!gee_map_has_key (_tmp49_, "one"), "! ro_map.has_key (\"one\")");
680 	_tmp50_ = self->ro_map;
681 	_vala_assert (!gee_map_has (_tmp50_, "one", "one"), "! ro_map.has (\"one\", \"one\")");
682 	_tmp51_ = self->ro_map;
683 	_tmp52_ = gee_map_get (_tmp51_, "one");
684 	_tmp53_ = (gchar*) _tmp52_;
685 	_vala_assert (_tmp53_ == NULL, "ro_map.get (\"one\") == null");
686 	_g_free0 (_tmp53_);
687 	_tmp54_ = self->ro_map;
688 	_vala_assert (gee_map_has_key (_tmp54_, "two"), "ro_map.has_key (\"two\")");
689 	_tmp55_ = self->ro_map;
690 	_vala_assert (gee_map_has (_tmp55_, "two", "two"), "ro_map.has (\"two\", \"two\")");
691 	_tmp56_ = self->ro_map;
692 	_tmp57_ = gee_map_get (_tmp56_, "two");
693 	_tmp58_ = (gchar*) _tmp57_;
694 	_vala_assert (g_strcmp0 (_tmp58_, "two") == 0, "ro_map.get (\"two\") == \"two\"");
695 	_g_free0 (_tmp58_);
696 	_tmp59_ = self->ro_map;
697 	_vala_assert (!gee_map_has_all (_tmp59_, dummy), "! ro_map.has_all (dummy)");
698 	_tmp60_ = self->test_map;
699 	gee_map_clear (_tmp60_);
700 	_tmp61_ = self->ro_map;
701 	_tmp62_ = gee_map_get_size (_tmp61_);
702 	_tmp63_ = _tmp62_;
703 	_vala_assert (_tmp63_ == 0, "ro_map.size == 0");
704 	_tmp64_ = self->ro_map;
705 	_tmp65_ = gee_map_get_is_empty (_tmp64_);
706 	_tmp66_ = _tmp65_;
707 	_vala_assert (_tmp66_, "ro_map.is_empty");
708 	_tmp67_ = self->ro_map;
709 	_vala_assert (!gee_map_has (_tmp67_, "one", "one"), "! ro_map.has (\"one\", \"one\")");
710 	_tmp68_ = self->ro_map;
711 	_vala_assert (!gee_map_has (_tmp68_, "two", "two"), "! ro_map.has (\"two\", \"two\")");
712 	_tmp69_ = self->ro_map;
713 	_tmp70_ = gee_map_get (_tmp69_, "one");
714 	_tmp71_ = (gchar*) _tmp70_;
715 	_vala_assert (_tmp71_ == NULL, "ro_map.get (\"one\") == null");
716 	_g_free0 (_tmp71_);
717 	_tmp72_ = self->ro_map;
718 	_tmp73_ = gee_map_get (_tmp72_, "two");
719 	_tmp74_ = (gchar*) _tmp73_;
720 	_vala_assert (_tmp74_ == NULL, "ro_map.get (\"two\") == null");
721 	_g_free0 (_tmp74_);
722 	_g_object_unref0 (dummy);
723 }
724 
725 static void
read_only_map_tests_class_init(ReadOnlyMapTestsClass * klass,gpointer klass_data)726 read_only_map_tests_class_init (ReadOnlyMapTestsClass * klass,
727                                 gpointer klass_data)
728 {
729 	read_only_map_tests_parent_class = g_type_class_peek_parent (klass);
730 	((GeeTestCaseClass *) klass)->set_up = (void (*) (GeeTestCase*)) read_only_map_tests_real_set_up;
731 	((GeeTestCaseClass *) klass)->tear_down = (void (*) (GeeTestCase*)) read_only_map_tests_real_tear_down;
732 	G_OBJECT_CLASS (klass)->finalize = read_only_map_tests_finalize;
733 }
734 
735 static void
read_only_map_tests_instance_init(ReadOnlyMapTests * self,gpointer klass)736 read_only_map_tests_instance_init (ReadOnlyMapTests * self,
737                                    gpointer klass)
738 {
739 }
740 
741 static void
read_only_map_tests_finalize(GObject * obj)742 read_only_map_tests_finalize (GObject * obj)
743 {
744 	ReadOnlyMapTests * self;
745 	self = G_TYPE_CHECK_INSTANCE_CAST (obj, TYPE_READ_ONLY_MAP_TESTS, ReadOnlyMapTests);
746 	_g_object_unref0 (self->test_map);
747 	_g_object_unref0 (self->ro_map);
748 	G_OBJECT_CLASS (read_only_map_tests_parent_class)->finalize (obj);
749 }
750 
751 GType
read_only_map_tests_get_type(void)752 read_only_map_tests_get_type (void)
753 {
754 	static volatile gsize read_only_map_tests_type_id__volatile = 0;
755 	if (g_once_init_enter (&read_only_map_tests_type_id__volatile)) {
756 		static const GTypeInfo g_define_type_info = { sizeof (ReadOnlyMapTestsClass), (GBaseInitFunc) NULL, (GBaseFinalizeFunc) NULL, (GClassInitFunc) read_only_map_tests_class_init, (GClassFinalizeFunc) NULL, NULL, sizeof (ReadOnlyMapTests), 0, (GInstanceInitFunc) read_only_map_tests_instance_init, NULL };
757 		GType read_only_map_tests_type_id;
758 		read_only_map_tests_type_id = g_type_register_static (GEE_TYPE_TEST_CASE, "ReadOnlyMapTests", &g_define_type_info, 0);
759 		g_once_init_leave (&read_only_map_tests_type_id__volatile, read_only_map_tests_type_id);
760 	}
761 	return read_only_map_tests_type_id__volatile;
762 }
763 
764