You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@celix.apache.org by pn...@apache.org on 2023/12/30 18:40:31 UTC
(celix) 03/09: Remove cpputests for array and linked list
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 <pn...@apache.org>
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:dev@celix.apache.org">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:dev@celix.apache.org">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);
-}