6 /* example from glib documentation */
13 /* We create a new array to store gint values.
14 We don't want it zero-terminated or cleared to 0's. */
15 garray = g_array_new (FALSE, FALSE, sizeof (gint));
16 for (i = 0; i < 10000; i++)
17 g_array_append_val (garray, i);
19 for (i = 0; i < 10000; i++)
20 if (g_array_index (garray, gint, i) != i)
21 return FAILED ("array value didn't match");
23 g_array_free (garray, TRUE);
31 GArray *array = g_array_new (FALSE, FALSE, sizeof (int));
35 g_array_append_val (array, v);
37 if (27 != g_array_index (array, int, 0))
40 g_array_free (array, TRUE);
46 test_array_append_zero_terminated ()
48 GArray *array = g_array_new (TRUE, FALSE, sizeof (int));
52 g_array_append_val (array, v);
54 if (27 != g_array_index (array, int, 0))
55 return FAILED ("g_array_append_val failed");
57 if (0 != g_array_index (array, int, 1))
58 return FAILED ("zero_terminated didn't append a zero element");
60 g_array_free (array, TRUE);
68 GArray *array = g_array_new (FALSE, FALSE, sizeof (int));
72 return FAILED ("initial array length not zero");
76 g_array_append_val (array, v);
79 return FAILED ("array append failed");
81 g_array_free (array, TRUE);
89 GArray *array = g_array_new (FALSE, FALSE, sizeof (int));
90 int v[] = {30, 29, 28, 27, 26, 25};
92 g_array_append_vals (array, v, 6);
95 return FAILED ("append_vals fail");
97 g_array_remove_index (array, 3);
100 return FAILED ("remove_index failed to update length");
102 if (26 != g_array_index (array, int, 3))
103 return FAILED ("remove_index failed to update the array");
105 g_array_free (array, TRUE);
110 static Test array_tests [] = {
111 {"big", test_array_big},
112 {"append", test_array_append},
113 {"index", test_array_index},
114 {"remove", test_array_remove},
115 {"append_zero_term", test_array_append_zero_terminated},
119 DEFINE_TEST_GROUP_INIT(array_tests_init, array_tests)