/* basic.c * * Copyright 2018 Bruce Cowan <bruce@bcowan.me.uk> * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. * * SPDX-License-Identifier: Apache-2.0 */ #include <glib.h> #include "array.h" #define LENGTH 100 static Array * create_array (size_t length) { Array *array = array_new (g_free); for (size_t i = 0; i < length; i++) { gchar *str = g_strdup_printf ("String #%zu", i); array_add (array, str); } return array; } static void test_get (void) { Array *array = create_array (LENGTH); for (size_t i = 0; i < LENGTH; i++) { const gchar *element = (const gchar *) array_get (array, i); g_autofree gchar *compare = g_strdup_printf ("String #%zu", i); g_assert_cmpstr (element, ==, compare); } array_unref (array); } int main (int argc, char **argv) { g_test_init (&argc, &argv, NULL); g_test_add_func ("/array/get", test_get); return g_test_run (); }