Initial commit
This commit is contained in:
commit
b4c0b22597
104 changed files with 10100 additions and 0 deletions
61
test_sorting_algorithms.h
Normal file
61
test_sorting_algorithms.h
Normal file
|
|
@ -0,0 +1,61 @@
|
|||
/*----------------------------------------------------------
|
||||
* HTBLA-Leonding / Klasse: n/a
|
||||
* ---------------------------------------------------------
|
||||
* Title: Common Unit Test functionality for sorting algorithms.
|
||||
* Author: S. Schraml
|
||||
* ----------------------------------------------------------
|
||||
* Description:
|
||||
* Provides common tests functions for sorting algorithms.
|
||||
* ----------------------------------------------------------
|
||||
*/
|
||||
#ifndef ___TEST_SORTING_ALGORITHMS_H
|
||||
#define ___TEST_SORTING_ALGORITHMS_H
|
||||
|
||||
#include "shortcut.h"
|
||||
#include "config.h"
|
||||
#include "list.h"
|
||||
#include "sorting_criteria.h"
|
||||
|
||||
typedef void list_sorting_fn(IntList, criterion_fn*);
|
||||
|
||||
#define ASSERT_SORTED_LIST_ASCENDING_PLAIN(sorter) ASSERT_SORTED_LIST_ASCENDING(sorter, 0, false);
|
||||
#define ASSERT_SORTED_LIST_ASCENDING_MULTIPLE(sorter) ASSERT_SORTED_LIST_ASCENDING(sorter, 0, true);
|
||||
#define ASSERT_SORTED_LIST_ASCENDING_REVERSE(sorter) ASSERT_SORTED_LIST_ASCENDING(sorter, &is_in_desc_order, false);
|
||||
#define ASSERT_SORTED_LIST_ASCENDING(sorter, reverse_criterion, multiple) ASSERT_SORTED_LIST("ascending", sorter, &is_in_asc_order, reverse_criterion, multiple);
|
||||
|
||||
#define ASSERT_SORTED_LIST_DESCENDING_PLAIN(sorter) ASSERT_SORTED_LIST_DESCENDING(sorter, 0, false);
|
||||
#define ASSERT_SORTED_LIST_DESCENDING_MULTIPLE(sorter) ASSERT_SORTED_LIST_DESCENDING(sorter, 0, true);
|
||||
#define ASSERT_SORTED_LIST_DESCENDING_REVERSE(sorter) ASSERT_SORTED_LIST_DESCENDING(sorter, &is_in_asc_order, false);
|
||||
#define ASSERT_SORTED_LIST_DESCENDING(sorter, reverse_criterion, multiple) ASSERT_SORTED_LIST("descending", sorter, &is_in_desc_order, reverse_criterion, multiple);
|
||||
|
||||
#define ASSERT_SORTED_LIST(direction_txt, sorter, criterion, reverse_criterion, multiple) _assert_sorted_list(tc, direction_txt, sorter, criterion, reverse_criterion, multiple)
|
||||
void _assert_sorted_list(struct TestCase* tc, const char* direction_txt, list_sorting_fn* sorter, criterion_fn* criterion, criterion_fn* reverse_criterion, bool multiple);
|
||||
|
||||
|
||||
typedef void array_sorting_fn(int[], unsigned long, criterion_fn*);
|
||||
|
||||
#define ASSERT_SORTED_ARRAY_ASCENDING_PLAIN(sorter) ASSERT_SORTED_ARRAY_ASCENDING(sorter, 0, false);
|
||||
#define ASSERT_SORTED_ARRAY_ASCENDING_MULTIPLE(sorter) ASSERT_SORTED_ARRAY_ASCENDING(sorter, 0, true);
|
||||
#define ASSERT_SORTED_ARRAY_ASCENDING_REVERSE(sorter) ASSERT_SORTED_ARRAY_ASCENDING(sorter, &is_in_desc_order, false);
|
||||
#define ASSERT_SORTED_ARRAY_ASCENDING(sorter, reverse_criterion, multiple) ASSERT_SORTED_ARRAY("ascending", sorter, &is_in_asc_order, reverse_criterion, multiple);
|
||||
|
||||
#define ASSERT_SORTED_ARRAY_DESCENDING_PLAIN(sorter) ASSERT_SORTED_ARRAY_DESCENDING(sorter, 0, false);
|
||||
#define ASSERT_SORTED_ARRAY_DESCENDING_MULTIPLE(sorter) ASSERT_SORTED_ARRAY_DESCENDING(sorter, 0, true);
|
||||
#define ASSERT_SORTED_ARRAY_DESCENDING_REVERSE(sorter) ASSERT_SORTED_ARRAY_DESCENDING(sorter, &is_in_asc_order, false);
|
||||
#define ASSERT_SORTED_ARRAY_DESCENDING(sorter, reverse_criterion, multiple) ASSERT_SORTED_ARRAY("descending", sorter, &is_in_desc_order, reverse_criterion, multiple);
|
||||
|
||||
#define ASSERT_SORTED_ARRAY(direction_txt, sorter, criterion, reverse_criterion, multiple) _assert_sorted_array(tc, direction_txt, sorter, criterion, reverse_criterion, multiple)
|
||||
void _assert_sorted_array(struct TestCase* tc, const char* direction_txt, array_sorting_fn* sorter, criterion_fn* criterion, criterion_fn* reverse_criterion, bool multiple);
|
||||
|
||||
// #ifdef LIST_VARIANT
|
||||
// TEST(test_insertion_sort_binsearch_list_ascending);
|
||||
// TEST(test_insertion_sort_binsearch_list_decending);
|
||||
// #else
|
||||
// TEST(test_insertion_sort_binsearch_array_ascending);
|
||||
// TEST(test_insertion_sort_binsearch_array_descending);
|
||||
// TEST(test_insertion_sort_binsearch_array_ascending_multiple);
|
||||
// TEST(test_insertion_sort_binsearch_array_descending_multiple);
|
||||
// TEST(test_insertion_sort_binsearch_array_ascending_reverse);
|
||||
// TEST(test_insertion_sort_binsearch_array_descending_reverse);
|
||||
// #endif
|
||||
#endif
|
||||
Loading…
Add table
Add a link
Reference in a new issue