This is an automated email from the ASF dual-hosted git repository. pnoltes pushed a commit to branch feature/509-remove-cpputests in repository https://gitbox.apache.org/repos/asf/celix.git
commit 577551e933f01595cb62b58adcc8fefe5adf93dd Author: Pepijn Noltes <[email protected]> AuthorDate: Sat Dec 23 17:17:31 2023 +0100 Remove cpputests for array and linked list --- libs/utils/private/test/array_list_test.cpp | 584 -------------------- libs/utils/private/test/linked_list_test.cpp | 796 --------------------------- 2 files changed, 1380 deletions(-) diff --git a/libs/utils/private/test/array_list_test.cpp b/libs/utils/private/test/array_list_test.cpp deleted file mode 100644 index da90de5a..00000000 --- a/libs/utils/private/test/array_list_test.cpp +++ /dev/null @@ -1,584 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -/** - * array_list_test.cpp - * - * \date Sep 15, 2015 - * \author <a href="mailto:[email protected]">Apache Celix Project Team</a> - * \copyright Apache License, Version 2.0 - */ - -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <iostream> - -#include "CppUTest/TestHarness.h" -#include "CppUTest/TestHarness_c.h" -#include "CppUTest/CommandLineTestRunner.h" - -extern "C" -{ -#include "celix_array_list.h" -#include "array_list.h" -#include "array_list_private.h" -} - -int main(int argc, char** argv) { - MemoryLeakWarningPlugin::turnOffNewDeleteOverloads(); - return RUN_ALL_TESTS(argc, argv); -} - -static char* my_strdup(const char* s){ - char *d = (char*) malloc (strlen (s) + 1); - if (d == NULL) return NULL; - strcpy (d,s); - return d; -} - -//----------------------TESTS GROUP DEFINES---------------------- - -TEST_GROUP(array_list) { - array_list_pt list; - - void setup(){ - arrayList_create(&list); - } - void teardown() { - arrayList_destroy(list); - } -}; - -TEST_GROUP(array_list_iterator) { - array_list_pt list; - - void setup(){ - arrayList_create(&list); - } - void teardown() { - arrayList_destroy(list); - } -}; - -//----------------------ARRAY LIST TESTS---------------------- - -TEST(array_list, create) { - CHECK_C(list != NULL); - LONGS_EQUAL(0, list->size); -} - -TEST(array_list, trimToSize) { - char * entry = my_strdup("entry"); - arrayList_clear(list); - - arrayList_add(list, entry); - LONGS_EQUAL(1, list->size); - LONGS_EQUAL(10, list->capacity); - - arrayList_trimToSize(list); - LONGS_EQUAL(1, list->size); - LONGS_EQUAL(1, list->capacity); - - free(entry); -} - -TEST(array_list, ensureCapacity) { - int i; - arrayList_clear(list); - - LONGS_EQUAL(10, list->capacity); - LONGS_EQUAL(0, list->size); - - for (i = 0; i < 100; i++) { - char * entry = my_strdup("entry"); - arrayList_add(list, entry); - } - LONGS_EQUAL(133, list->capacity); - LONGS_EQUAL(100, list->size); - - for (i = 99; i >= 0; i--) { - free(arrayList_remove(list, i)); - } -} - -TEST(array_list, clone) { - int i; - arrayList_clear(list); - - LONGS_EQUAL(10, list->capacity); - LONGS_EQUAL(0, list->size); - - for (i = 0; i < 12; i++) { - bool added; - char entry[11]; - snprintf(entry, sizeof(entry), "|%s|%d|", "entry", i); - added = arrayList_add(list, my_strdup(entry)); - CHECK(added); - } - LONGS_EQUAL(16, list->capacity); - LONGS_EQUAL(12, list->size); - - array_list_pt clone = NULL; - clone = arrayList_clone(list); - - LONGS_EQUAL(16, clone->capacity); - LONGS_EQUAL(12, clone->size); - - unsigned int j; - for (j = 0; j < 12; j++) { - void *entry = NULL; - char entrys[11]; - snprintf(entrys, sizeof(entrys), "|%s|%d|", "entry", j); - - entry = arrayList_get(clone, j); - STRCMP_EQUAL((char *) entry, entrys); - } - - for (i = 11; i >= 0; i--) { - free(arrayList_remove(list, i)); - } - arrayList_destroy(clone); -} - -TEST(array_list, size){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry"); - char * entry3 = my_strdup("entry"); - arrayList_clear(list); - LONGS_EQUAL(0, list->size); - - arrayList_add(list, entry); - LONGS_EQUAL(1, list->size); - - arrayList_add(list, entry2); - LONGS_EQUAL(2, list->size); - - arrayList_add(list, entry3); - LONGS_EQUAL(3, list->size); - - free(entry); - free(entry2); - free(entry3); -} - -TEST(array_list, isEmpty){ - arrayList_clear(list); - LONGS_EQUAL(0, list->size); - CHECK(arrayList_isEmpty(list)); -} - -TEST(array_list, contains){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = NULL; - bool contains; - - arrayList_clear(list); - - arrayList_add(list, entry); - - arrayList_add(list, entry2); - - CHECK(arrayList_contains(list, entry)); - CHECK(arrayList_contains(list, entry2)); - contains = arrayList_contains(list, NULL); - CHECK(!contains); - - arrayList_add(list, entry3); - - CHECK(arrayList_contains(list, entry3)); - - free(entry); - free(entry2); -} - -TEST(array_list, indexOf){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - - arrayList_clear(list); - - arrayList_add(list, entry); - - arrayList_add(list, entry2); - arrayList_add(list, entry2); - arrayList_add(list, entry2); - arrayList_add(list, entry2); - - LONGS_EQUAL(0, arrayList_indexOf(list, entry)); - LONGS_EQUAL(1, arrayList_indexOf(list, entry2)); - LONGS_EQUAL(0, arrayList_lastIndexOf(list, entry)); - LONGS_EQUAL(4, arrayList_lastIndexOf(list, entry2)); - - free(entry); - free(entry2); -} - -TEST(array_list, get){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = NULL; - char * get; - - arrayList_clear(list); - - arrayList_add(list, entry); - arrayList_add(list, entry2); - - get = (char*) arrayList_get(list, 0); - STRCMP_EQUAL(entry, get); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry2, get); - - arrayList_add(list, entry3); - - get = (char*) arrayList_get(list, 2); - CHECK(get == NULL); - - get = (char*) arrayList_get(list, 42); - CHECK(get == NULL); - - free(entry); - free(entry2); -} - -TEST(array_list, set){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - char * get; - char * old; - - arrayList_clear(list); - - arrayList_add(list, entry); - arrayList_add(list, entry2); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry2, get); - - old = (char*) arrayList_set(list, 1, entry3); - STRCMP_EQUAL(entry2, old); - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry3, get); - - free(entry); - free(entry2); - free(entry3); -} - -TEST(array_list, add){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - char * get; - - arrayList_clear(list); - - arrayList_add(list, entry); - arrayList_add(list, entry2); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry2, get); - - arrayList_addIndex(list, 1, entry3); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry3, get); - - get = (char*) arrayList_get(list, 2); - STRCMP_EQUAL(entry2, get); - - free(entry); - free(entry2); - free(entry3); -} - -TEST(array_list, addAll){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - char * get; - array_list_pt toAdd; - bool changed; - - arrayList_clear(list); - - arrayList_create(&toAdd); - arrayList_add(toAdd, entry); - arrayList_add(toAdd, entry2); - - arrayList_add(list, entry3); - - get = (char*) arrayList_get(list, 0); - STRCMP_EQUAL(entry3, get); - - changed = arrayList_addAll(list, toAdd); - CHECK(changed); - LONGS_EQUAL(3, arrayList_size(list)); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry, get); - - get = (char*) arrayList_get(list, 2); - STRCMP_EQUAL(entry2, get); - - free(entry); - free(entry2); - free(entry3); - arrayList_destroy(toAdd); -} - -TEST(array_list, remove){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - char * get; - char * removed; - - arrayList_clear(list); - - arrayList_add(list, entry); - arrayList_add(list, entry2); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry2, get); - - // Remove first entry - removed = (char*) arrayList_remove(list, 0); - STRCMP_EQUAL(entry, removed); - - // Check the new first entry - get = (char*) arrayList_get(list, 0); - STRCMP_EQUAL(entry2, get); - - // Add a new entry - arrayList_add(list, entry3); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry3, get); - - free(entry); - free(entry2); - free(entry3); -} - -TEST(array_list, removeElement){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - char * get; - - arrayList_clear(list); - - arrayList_add(list, entry); - arrayList_add(list, entry2); - - // Remove entry - CHECK(arrayList_removeElement(list, entry)); - - // Check the new first element - get = (char*) arrayList_get(list, 0); - STRCMP_EQUAL(entry2, get); - - // Add a new entry - arrayList_add(list, entry3); - - get = (char*) arrayList_get(list, 1); - STRCMP_EQUAL(entry3, get); - - free(entry); - free(entry2); - free(entry3); -} - -TEST(array_list, clear){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - - arrayList_clear(list); - - arrayList_add(list, entry); - arrayList_add(list, entry2); - - LONGS_EQUAL(2, arrayList_size(list)); - arrayList_clear(list); - LONGS_EQUAL(0, arrayList_size(list)); - - free(entry); - free(entry2); -} - -//----------------------ARRAY LIST ITERATOR TESTS---------------------- - -TEST(array_list_iterator, create){ - array_list_iterator_pt it_list = arrayListIterator_create(list); - CHECK(it_list != NULL); - POINTERS_EQUAL(list, it_list->list); - arrayListIterator_destroy(it_list); -} - -TEST(array_list_iterator, hasNext){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - array_list_iterator_pt it_list; - - arrayList_add(list, entry); - arrayList_add(list, entry2); - arrayList_add(list, entry3); - it_list = arrayListIterator_create(list); - CHECK(arrayListIterator_hasNext(it_list)); - - arrayListIterator_next(it_list); - CHECK(arrayListIterator_hasNext(it_list)); - - arrayListIterator_next(it_list); - CHECK(arrayListIterator_hasNext(it_list)); - - arrayListIterator_next(it_list); - CHECK(!arrayListIterator_hasNext(it_list)); - - free(entry); - free(entry2); - free(entry3); - arrayListIterator_destroy(it_list); -} - -TEST(array_list_iterator, hasPrevious){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - array_list_iterator_pt it_list; - - arrayList_add(list, entry); - arrayList_add(list, entry2); - arrayList_add(list, entry3); - - it_list = arrayListIterator_create(list); - arrayListIterator_next(it_list); - arrayListIterator_next(it_list); - arrayListIterator_next(it_list); - CHECK(arrayListIterator_hasPrevious(it_list)); - - arrayListIterator_previous(it_list); - CHECK(arrayListIterator_hasPrevious(it_list)); - - arrayListIterator_previous(it_list); - CHECK(arrayListIterator_hasPrevious(it_list)); - - arrayListIterator_previous(it_list); - CHECK(!arrayListIterator_hasPrevious(it_list)); - - free(entry); - free(entry2); - free(entry3); - arrayListIterator_destroy(it_list); -} - -TEST(array_list_iterator, next){ - char * entry = my_strdup("entry"); - char * entry2 = my_strdup("entry2"); - char * entry3 = my_strdup("entry3"); - array_list_iterator_pt it_list; - - arrayList_add(list, entry); - arrayList_add(list, entry2); - arrayList_add(list, entry3); - it_list = arrayListIterator_create(list); - STRCMP_EQUAL(entry, (char*) arrayListIterator_next(it_list)); - STRCMP_EQUAL(entry2, (char*) arrayListIterator_next(it_list)); - STRCMP_EQUAL(entry3, (char*) arrayListIterator_next(it_list)); - POINTERS_EQUAL(NULL, arrayListIterator_next(it_list)); - - //mess up the expected and real changecount, code should check and handle - arrayList_add(list, entry); - arrayListIterator_next(it_list); - - free(entry); - free(entry2); - free(entry3); - arrayListIterator_destroy(it_list); -} - -TEST(array_list_iterator, previous){ - char * value = my_strdup("entry"); - char * value2 = my_strdup("entry2"); - char * value3 = my_strdup("entry3"); - array_list_iterator_pt it_list; - - arrayList_add(list, value); - arrayList_add(list, value2); - arrayList_add(list, value3); - it_list = arrayListIterator_create(list); - - arrayListIterator_next(it_list); - arrayListIterator_next(it_list); - arrayListIterator_next(it_list); - STRCMP_EQUAL(value3, (char*) arrayListIterator_previous(it_list)); - STRCMP_EQUAL(value2, (char*) arrayListIterator_previous(it_list)); - STRCMP_EQUAL(value, (char*) arrayListIterator_previous(it_list)); - POINTERS_EQUAL(NULL, arrayListIterator_previous(it_list)); - - //mess up the expected and real changecount, code should check and handle - arrayListIterator_destroy(it_list); - it_list = arrayListIterator_create(list); - arrayList_add(list, value); - arrayListIterator_previous(it_list); - - free(value); - free(value2); - free(value3); - arrayListIterator_destroy(it_list); -} - -TEST(array_list_iterator, remove){ - char * value = my_strdup("entry"); - char * value2 = my_strdup("entry2"); - char * value3 = my_strdup("entry3"); - array_list_iterator_pt it_list; - - arrayList_add(list, value); - arrayList_add(list, value2); - arrayList_add(list, value3); - it_list = arrayListIterator_create(list); - - LONGS_EQUAL(3, list->size); - STRCMP_EQUAL(value, (char*) arrayList_get(list, 0)); - STRCMP_EQUAL(value2, (char*) arrayList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) arrayList_get(list, 2)); - - arrayListIterator_next(it_list); - arrayListIterator_next(it_list); - arrayListIterator_remove(it_list); - LONGS_EQUAL(2, list->size); - STRCMP_EQUAL(value, (char*) arrayList_get(list, 0)); - STRCMP_EQUAL(value3, (char*) arrayList_get(list, 1)); - - //mess up the expected and real changecount, code should check and handle - arrayList_add(list, value); - arrayListIterator_remove(it_list); - - free(value); - free(value2); - free(value3); - arrayListIterator_destroy(it_list); -} - diff --git a/libs/utils/private/test/linked_list_test.cpp b/libs/utils/private/test/linked_list_test.cpp deleted file mode 100644 index 10711db3..00000000 --- a/libs/utils/private/test/linked_list_test.cpp +++ /dev/null @@ -1,796 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one - * or more contributor license agreements. See the NOTICE file - * distributed with this work for additional information - * regarding copyright ownership. The ASF licenses this file - * to you 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. - */ -/** - * linked_list_test.cpp - * - * \date Sep 15, 2015 - * \author <a href="mailto:[email protected]">Apache Celix Project Team</a> - * \copyright Apache License, Version 2.0 - */ - -#include <stdio.h> -#include <stddef.h> -#include <string.h> - -#include "CppUTest/TestHarness.h" -#include "CppUTest/TestHarness_c.h" -#include "CppUTest/CommandLineTestRunner.h" - -extern "C" -{ -#include "linked_list.h" -#include "linked_list_private.h" -#include "linked_list_iterator.h" -} - -int main(int argc, char** argv) { - MemoryLeakWarningPlugin::turnOffNewDeleteOverloads(); - return RUN_ALL_TESTS(argc, argv); -} - -static char* my_strdup(const char* s){ - char *d = (char*) malloc (strlen (s) + 1); - if (d == NULL) return NULL; - strcpy (d,s); - return d; -} - -//----------------------TESTGROUP DEFINES---------------------- - -TEST_GROUP(linked_list){ - linked_list_pt list; - - void setup(void) { - linkedList_create(&list); - } - - void teardown(void) { - linkedList_destroy(list); - } -}; - -TEST_GROUP(linked_list_iterator){ - linked_list_pt list; - - void setup(void) { - linkedList_create(&list); - } - - void teardown(void) { - linkedList_destroy(list); - } -}; - -//----------------------LINKED LIST TESTS---------------------- - -TEST(linked_list, create){ - CHECK(list != NULL); - LONGS_EQUAL(0, linkedList_size(list)); -} - -TEST(linked_list, add){ - char * value = my_strdup("element"); - - LONGS_EQUAL(0, linkedList_size(list)); - linkedList_addElement(list, value); - LONGS_EQUAL(1, linkedList_size(list)); - - free(value); -} - -TEST(linked_list, addFirst){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - - STRCMP_EQUAL(value, (char*) linkedList_getFirst(list)); - - linkedList_addFirst(list, value3); - - STRCMP_EQUAL(value3, (char*) linkedList_getFirst(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, addLast){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - - STRCMP_EQUAL(value2, (char*) linkedList_getLast(list)); - - linkedList_addLast(list, value3); - - STRCMP_EQUAL(value3, (char*) linkedList_getLast(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, addIndex){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - char * value4 = my_strdup("element4"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - linkedList_addIndex(list, 2, value4); - - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value4, (char*) linkedList_get(list, 2)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 3)); - - free(value); - free(value2); - free(value3); - free(value4); -} - -TEST(linked_list, addBefore){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - char * value4 = my_strdup("element4"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - linkedList_addBefore(list, value4, linkedList_entry(list, 2)); - - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value4, (char*) linkedList_get(list, 2)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 3)); - - free(value); - free(value2); - free(value3); - free(value4); -} - -TEST(linked_list, remove){ - char * value = strdup("element"); - - LONGS_EQUAL(0, linkedList_size(list)); - linkedList_addElement(list, value); - LONGS_EQUAL(1, linkedList_size(list)); - - linkedList_removeElement(list, value); - LONGS_EQUAL(0, linkedList_size(list)); - - free(value); -} - -TEST(linked_list, removeFirst){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value, (char*) linkedList_getFirst(list)); - - linkedList_removeFirst(list); - - STRCMP_EQUAL(value2, (char*) linkedList_getFirst(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, removeLast){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value3, (char*) linkedList_getLast(list)); - - linkedList_removeLast(list); - - STRCMP_EQUAL(value2, (char*) linkedList_getLast(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, removeElement){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - //add 6 elements - linkedList_addElement(list, NULL); - linkedList_addElement(list, value2); - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, NULL); - linkedList_addElement(list, value3); - LONGS_EQUAL(6, list->size); - - linkedList_removeElement(list, NULL); - linkedList_removeElement(list, NULL); - LONGS_EQUAL(4, list->size); - - linkedList_removeElement(list, value2); - LONGS_EQUAL(3, list->size); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, removeIndex){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - - linkedList_removeIndex(list, 1); - - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 1)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, removeEntry){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - linkedList_removeEntry(list, list->header); - LONGS_EQUAL(3, list->size); - - linkedList_removeEntry(list, linkedList_entry(list, 0)); - LONGS_EQUAL(2, list->size); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, clone){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_pt list2; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - linkedList_clone(list, &list2); - LONGS_EQUAL(list->size, list2->size); - STRCMP_EQUAL( (char*) linkedList_getFirst(list), (char*) linkedList_getFirst(list2)); - STRCMP_EQUAL( (char*) linkedList_getLast(list), (char*) linkedList_getLast(list2)); - - free(value); - free(value2); - free(value3); - linkedList_destroy(list2); -} - -TEST(linked_list, clear){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - LONGS_EQUAL(3, list->size); - - linkedList_clear(list); - LONGS_EQUAL(0, list->size); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, get){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, getFirst){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value, (char*) linkedList_getFirst(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, getLast){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value3, (char*) linkedList_getLast(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, set){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - linkedList_set(list, 1, value3); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, contains){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - linkedList_addElement(list, value); - CHECK(linkedList_contains(list, value)); - CHECK(!linkedList_contains(list, value2)); - CHECK(!linkedList_contains(list, value3)); - - linkedList_addElement(list, value2); - CHECK(linkedList_contains(list, value)); - CHECK(linkedList_contains(list, value2)); - CHECK(!linkedList_contains(list, value3)); - - linkedList_addElement(list, value3); - CHECK(linkedList_contains(list, value)); - CHECK(linkedList_contains(list, value2)); - CHECK(linkedList_contains(list, value3)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, size){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - LONGS_EQUAL(0, linkedList_size(list)); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - LONGS_EQUAL(3, linkedList_size(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, isEmpty){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - CHECK(linkedList_isEmpty(list)); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - CHECK(!linkedList_isEmpty(list)); - - linkedList_clear(list); - CHECK(linkedList_isEmpty(list)); - - free(value); - free(value2); - free(value3); -} - -TEST(linked_list, entry){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - char * value4 = my_strdup("element4"); - char * value5 = my_strdup("element5"); - - POINTERS_EQUAL(NULL, linkedList_entry(list, 666)); - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - linkedList_addElement(list, value4); - linkedList_addElement(list, value5); - - STRCMP_EQUAL(value2, (char*) linkedList_entry(list, 1)->element); - STRCMP_EQUAL(value4, (char*) linkedList_entry(list, 3)->element); - - free(value); - free(value2); - free(value3); - free(value4); - free(value5); -} - -TEST(linked_list, indexOf){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - - LONGS_EQUAL(-1, linkedList_indexOf(list, value)); - LONGS_EQUAL(-1, linkedList_indexOf(list, value2)); - LONGS_EQUAL(-1, linkedList_indexOf(list, value3)); - LONGS_EQUAL(-1, linkedList_indexOf(list, NULL)); - - linkedList_addElement(list, value); - LONGS_EQUAL(0, linkedList_indexOf(list, value)); - - linkedList_addElement(list, value2); - LONGS_EQUAL(1, linkedList_indexOf(list, value2)); - - linkedList_addElement(list, value3); - LONGS_EQUAL(2, linkedList_indexOf(list, value3)); - - linkedList_addElement(list, NULL); - LONGS_EQUAL(3, linkedList_indexOf(list, NULL)); - - free(value); - free(value2); - free(value3); -} - -//----------------------LINKED LIST ITERATOR TESTS---------------------- - -TEST(linked_list_iterator, create){ - linked_list_iterator_pt it_list = linkedListIterator_create(list,0); - CHECK(it_list != NULL); - linkedListIterator_destroy(it_list); - - it_list = linkedListIterator_create(list,666); - POINTERS_EQUAL(NULL, it_list); -} - -TEST(linked_list_iterator, hasNext){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - it_list = linkedListIterator_create(list, 0); - CHECK(linkedListIterator_hasNext(it_list)); - - linkedListIterator_next(it_list); - CHECK(linkedListIterator_hasNext(it_list)); - - linkedListIterator_next(it_list); - CHECK(linkedListIterator_hasNext(it_list)); - - linkedListIterator_next(it_list); - CHECK(!linkedListIterator_hasNext(it_list)); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, hasPrevious){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - - it_list = linkedListIterator_create(list, 3); - CHECK(linkedListIterator_hasPrevious(it_list)); - - linkedListIterator_previous(it_list); - CHECK(linkedListIterator_hasPrevious(it_list)); - - linkedListIterator_previous(it_list); - CHECK(linkedListIterator_hasPrevious(it_list)); - - linkedListIterator_previous(it_list); - CHECK(!linkedListIterator_hasPrevious(it_list)); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, next){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - it_list = linkedListIterator_create(list, 0); - STRCMP_EQUAL(value, (char*) linkedListIterator_next(it_list)); - STRCMP_EQUAL(value2, (char*) linkedListIterator_next(it_list)); - STRCMP_EQUAL(value3, (char*) linkedListIterator_next(it_list)); - POINTERS_EQUAL(NULL, linkedListIterator_next(it_list)); - - //mess up the expected and real changecount, code should check and handle - linkedList_addElement(list, value); - linkedListIterator_next(it_list); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, previous){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - it_list = linkedListIterator_create(list, 3); - STRCMP_EQUAL(value3, (char*) linkedListIterator_previous(it_list)); - STRCMP_EQUAL(value2, (char*) linkedListIterator_previous(it_list)); - STRCMP_EQUAL(value, (char*) linkedListIterator_previous(it_list)); - POINTERS_EQUAL(NULL, linkedListIterator_previous(it_list)); - - //mess up the expected and real changecount, code should check and handle - linkedListIterator_destroy(it_list); - it_list = linkedListIterator_create(list, 3); - linkedList_addElement(list, value); - linkedListIterator_previous(it_list); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, nextIndex){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - it_list = linkedListIterator_create(list, 0); - LONGS_EQUAL(0, linkedListIterator_nextIndex(it_list)); - linkedListIterator_next(it_list); - LONGS_EQUAL(1, linkedListIterator_nextIndex(it_list)); - linkedListIterator_next(it_list); - LONGS_EQUAL(2, linkedListIterator_nextIndex(it_list)); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, previousIndex){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - it_list = linkedListIterator_create(list, 3); - LONGS_EQUAL(2, linkedListIterator_previousIndex(it_list)); - linkedListIterator_previous(it_list); - LONGS_EQUAL(1, linkedListIterator_previousIndex(it_list)); - linkedListIterator_previous(it_list); - LONGS_EQUAL(0, linkedListIterator_previousIndex(it_list)); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, set){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - it_list = linkedListIterator_create(list, 0); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - linkedListIterator_set(it_list, NULL); - linkedListIterator_next(it_list); - linkedListIterator_next(it_list); - linkedListIterator_set(it_list, value3); - linkedListIterator_next(it_list); - linkedListIterator_set(it_list, value2); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 2)); - - //mess up the expected and real changecount, code should check and handle - linkedList_addElement(list, value); - linkedListIterator_set(it_list, value); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, add){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value3); - it_list = linkedListIterator_create(list, 0); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 1)); - - linkedListIterator_next(it_list); - linkedListIterator_add(it_list, value2); - - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - //mess up the expected and real changecount, code should check and handle - linkedList_addElement(list, value); - linkedListIterator_add(it_list, value2); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -} - -TEST(linked_list_iterator, remove){ - char * value = my_strdup("element"); - char * value2 = my_strdup("element2"); - char * value3 = my_strdup("element3"); - linked_list_iterator_pt it_list; - - linkedList_addElement(list, value); - linkedList_addElement(list, value2); - linkedList_addElement(list, value3); - it_list = linkedListIterator_create(list, 0); - - LONGS_EQUAL(3, list->size); - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value2, (char*) linkedList_get(list, 1)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 2)); - - linkedListIterator_next(it_list); - linkedListIterator_next(it_list); - linkedListIterator_remove(it_list); - LONGS_EQUAL(2, list->size); - STRCMP_EQUAL(value, (char*) linkedList_get(list, 0)); - STRCMP_EQUAL(value3, (char*) linkedList_get(list, 1)); - - //mess up the expected and real changecount, code should check and handle - linkedList_addElement(list, value); - linkedListIterator_remove(it_list); - - free(value); - free(value2); - free(value3); - linkedListIterator_destroy(it_list); -}
