tests: use better naming conventions in ADG tests
[adg.git] / src / adg / tests / test-gtk-layout.c
blob3ba410536d5658db323398abf0f2caab3e2e507e
1 /* ADG - Automatic Drawing Generation
2 * Copyright (C) 2007-2015 Nicola Fontana <ntd at entidi.it>
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2 of the License, or (at your option) any later version.
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the
16 * Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
17 * Boston, MA 02110-1301, USA.
21 #include <adg-test.h>
22 #include <adg.h>
25 static void
26 _adg_property_hadjustment(void)
28 AdgGtkLayout *layout;
29 GtkAdjustment *valid_adjustment, *invalid_adjustment, *hadjustment;
31 layout = ADG_GTK_LAYOUT(adg_gtk_layout_new());
32 valid_adjustment = (GtkAdjustment *) gtk_adjustment_new(0, 0, 0, 0, 0, 0);
33 invalid_adjustment = adg_test_invalid_pointer();
35 g_object_ref(valid_adjustment);
37 /* Using the public APIs */
38 g_test_message("The implementation must provide a fallback adjustment");
39 hadjustment = adg_gtk_layout_get_hadjustment(layout);
40 g_assert_true(GTK_IS_ADJUSTMENT(hadjustment));
42 adg_gtk_layout_set_hadjustment(layout, NULL);
43 hadjustment = adg_gtk_layout_get_hadjustment(layout);
44 g_assert_true(GTK_IS_ADJUSTMENT(hadjustment));
46 adg_gtk_layout_set_hadjustment(layout, valid_adjustment);
47 hadjustment = adg_gtk_layout_get_hadjustment(layout);
48 g_assert_true(hadjustment == valid_adjustment);
50 adg_gtk_layout_set_hadjustment(layout, invalid_adjustment);
51 hadjustment = adg_gtk_layout_get_hadjustment(layout);
52 g_assert_true(hadjustment == valid_adjustment);
54 adg_gtk_layout_set_hadjustment(layout, NULL);
55 hadjustment = adg_gtk_layout_get_hadjustment(layout);
56 g_assert_true(hadjustment != valid_adjustment);
57 g_assert_true(GTK_IS_ADJUSTMENT(hadjustment));
59 /* Using GObject property methods */
60 g_object_set(layout, "hadjustment", NULL, NULL);
61 g_object_get(layout, "hadjustment", &hadjustment, NULL);
62 g_assert_true(GTK_IS_ADJUSTMENT(hadjustment));
63 g_object_unref(hadjustment);
65 g_object_set(layout, "hadjustment", valid_adjustment, NULL);
66 g_object_get(layout, "hadjustment", &hadjustment, NULL);
67 g_assert_true(hadjustment == valid_adjustment);
68 g_object_unref(hadjustment);
70 g_object_set(layout, "hadjustment", invalid_adjustment, NULL);
71 g_object_get(layout, "hadjustment", &hadjustment, NULL);
72 g_assert_true(hadjustment == valid_adjustment);
73 g_object_unref(hadjustment);
75 g_object_set(layout, "hadjustment", NULL, NULL);
76 g_object_get(layout, "hadjustment", &hadjustment, NULL);
77 g_assert_true(hadjustment != valid_adjustment);
78 g_assert_true(GTK_IS_ADJUSTMENT(hadjustment));
79 g_object_unref(hadjustment);
81 gtk_widget_destroy(GTK_WIDGET(layout));
82 g_object_unref(valid_adjustment);
85 static void
86 _adg_property_vadjustment(void)
88 AdgGtkLayout *layout;
89 GtkAdjustment *valid_adjustment, *invalid_adjustment, *vadjustment;
91 layout = ADG_GTK_LAYOUT(adg_gtk_layout_new());
92 valid_adjustment = (GtkAdjustment *) gtk_adjustment_new(0, 0, 0, 0, 0, 0);
93 invalid_adjustment = adg_test_invalid_pointer();
95 g_object_ref(valid_adjustment);
97 /* Using the public APIs */
98 g_test_message("The implementation must provide a fallback adjustment");
99 vadjustment = adg_gtk_layout_get_vadjustment(layout);
100 g_assert_true(GTK_IS_ADJUSTMENT(vadjustment));
102 adg_gtk_layout_set_vadjustment(layout, NULL);
103 vadjustment = adg_gtk_layout_get_vadjustment(layout);
104 g_assert_true(GTK_IS_ADJUSTMENT(vadjustment));
106 adg_gtk_layout_set_vadjustment(layout, valid_adjustment);
107 vadjustment = adg_gtk_layout_get_vadjustment(layout);
108 g_assert_true(vadjustment == valid_adjustment);
110 adg_gtk_layout_set_vadjustment(layout, invalid_adjustment);
111 vadjustment = adg_gtk_layout_get_vadjustment(layout);
112 g_assert_true(vadjustment == valid_adjustment);
114 adg_gtk_layout_set_vadjustment(layout, NULL);
115 vadjustment = adg_gtk_layout_get_vadjustment(layout);
116 g_assert_true(vadjustment != valid_adjustment);
117 g_assert_true(GTK_IS_ADJUSTMENT(vadjustment));
119 /* Using GObject property methods */
120 g_object_set(layout, "vadjustment", NULL, NULL);
121 g_object_get(layout, "vadjustment", &vadjustment, NULL);
122 g_assert_true(GTK_IS_ADJUSTMENT(vadjustment));
123 g_object_unref(vadjustment);
125 g_object_set(layout, "vadjustment", valid_adjustment, NULL);
126 g_object_get(layout, "vadjustment", &vadjustment, NULL);
127 g_assert_true(vadjustment == valid_adjustment);
128 g_object_unref(vadjustment);
130 g_object_set(layout, "vadjustment", invalid_adjustment, NULL);
131 g_object_get(layout, "vadjustment", &vadjustment, NULL);
132 g_assert_true(vadjustment == valid_adjustment);
133 g_object_unref(vadjustment);
135 g_object_set(layout, "vadjustment", NULL, NULL);
136 g_object_get(layout, "vadjustment", &vadjustment, NULL);
137 g_assert_true(vadjustment != valid_adjustment);
138 g_assert_true(GTK_IS_ADJUSTMENT(vadjustment));
139 g_object_unref(vadjustment);
141 gtk_widget_destroy(GTK_WIDGET(layout));
142 g_object_unref(valid_adjustment);
147 main(int argc, char *argv[])
149 adg_test_init(&argc, &argv);
151 adg_test_add_object_checks("/adg/gtk/layout/type/object", ADG_GTK_TYPE_LAYOUT);
153 g_test_add_func("/adg-gtk/layout/property/hadjustment", _adg_property_hadjustment);
154 g_test_add_func("/adg-gtk/layout/property/vadjustment", _adg_property_vadjustment);
156 return g_test_run();