int TestSort_LList(Sorter<int> *_sorter) { LList<int> *llist = new LList<int>(); for (int i = 0; i < SORT_ITEMS; i++) { llist->insert(rand()); } llist->sort(_sorter); for (int i = 0; i < SORT_ITEMS - 1; i++) { TEST_ASSERT(llist->get(i) <= llist->get(i+1)); } delete llist; return 0; }
int TestInsertionSort_LList() { LList<int> *llist = new LList<int>(); llist->insert(4); llist->insert(2); llist->insert(0); llist->insert(3); llist->insert(1); InsertionSort<int> *is = new InsertionSort<int>(); llist->sort(is); delete is; for (int i = 0; i < 5; i++) { TEST_ASSERT(llist->get(i) == i); } delete llist; return 0; }
int TestQuickSort_LList() { LList<int> *llist = new LList<int>(); llist->insert(4); llist->insert(2); llist->insert(0); llist->insert(3); llist->insert(1); QuickSort<int> *qs = new QuickSort<int>(); llist->sort(qs); delete qs; for (int i = 0; i < 5; i++) { TEST_ASSERT(llist->get(i) == i); } delete llist; return 0; }
int TestShellSort_LList() { LList<int> *llist = new LList<int>(); llist->insert(4); llist->insert(2); llist->insert(0); llist->insert(3); llist->insert(1); ShellSort<int> *ss = new ShellSort<int>(); llist->sort(ss); delete ss; for (int i = 0; i < 5; i++) { TEST_ASSERT(llist->get(i) == i); } delete llist; return 0; }