diff --git a/tests/core/index.cpp b/tests/core/index.cpp index 85aa296d..1b972664 100644 --- a/tests/core/index.cpp +++ b/tests/core/index.cpp @@ -8,32 +8,10 @@ #include -static IndexEntry *IDX_NULL = NULL; -/*** - * - * Struct for passing around arguments to tests - * - */ +static unsigned int N = 0; +static Index *INDEX = NULL; -struct TestArgs { - const unsigned int n; - Index *index; - - TestArgs(const unsigned int, Index *); -}; - -TestArgs :: TestArgs(const unsigned int _n, Index *_index) - : n(_n), index(_index) -{} - - - -/*** - * - * Run tests with varying index sizes - * - */ static void test_single_item() { @@ -42,7 +20,7 @@ static void test_single_item() index.insert("a", 0); IndexEntry *it = index.find("a"); - test_not_equal(it, IDX_NULL); + test_not_equal(it, (IndexEntry *)NULL); test_equal(index.size(), (unsigned)1); test_equal(it->size(), (size_t)1); test_equal(*(it->begin()), (unsigned)0); @@ -52,7 +30,7 @@ static void test_single_item() test_equal(it->size(), (size_t)0); } -static void test_insertion(struct TestArgs *args) +static void test_insertion() { std::string key; IndexEntry *it; @@ -61,32 +39,32 @@ static void test_insertion(struct TestArgs *args) for (char c = 'a'; c <= 'z'; c++) { key = c; - for (unsigned int i = 0; i < args->n; i++) - args->index->insert(key, i); + for (unsigned int i = 0; i < N; i++) + INDEX->insert(key, i); } test :: success(); - if (args->n == 0) - test_equal(args->index->size(), (unsigned int)0); + if (N == 0) + test_equal(INDEX->size(), (unsigned int)0); else - test_equal(args->index->size(), (unsigned int)26); + test_equal(INDEX->size(), (unsigned int)26); test :: begin(); for (char c = 'a'; c <= 'z'; c++) { key = c; - it = args->index->find(key); + it = INDEX->find(key); - if (args->n == 0) - check_equal(it, IDX_NULL); + if (N == 0) + check_equal(it, (IndexEntry *)NULL); else { - check_not_equal(it, IDX_NULL); - check_equal(it->size(), (size_t)args->n); + check_not_equal(it, (IndexEntry *)NULL); + check_equal(it->size(), (size_t)N); } } test :: success(); } -static void test_removal(struct TestArgs *args) +static void test_removal() { std::string key; IndexEntry *it; @@ -95,20 +73,20 @@ static void test_removal(struct TestArgs *args) for (char c = 'a'; c <= 'z'; c++) { key = c; - for (unsigned int i = 0; i < args->n; i++) - args->index->remove(key, i); - it = args->index->find(key); - if (args->n == 0) - check_equal(it, IDX_NULL); + for (unsigned int i = 0; i < N; i++) + INDEX->remove(key, i); + it = INDEX->find(key); + if (N == 0) + check_equal(it, (IndexEntry *)NULL); else { - check_not_equal(it, IDX_NULL); + check_not_equal(it, (IndexEntry *)NULL); check_equal(it->size(), (size_t)0); } } test :: success(); } -static void test_saving(struct TestArgs *args) +static void test_saving() { std::string key; IndexEntry *it1, *it2; @@ -117,24 +95,24 @@ static void test_saving(struct TestArgs *args) idx2.load(); test_equal(idx2.size(), (unsigned)0); - args->index->save(); + INDEX->save(); idx2.load(); - test_equal(idx2.size(), args->index->size()); - test_equal(idx2.actual_size(), args->index->actual_size()); + test_equal(idx2.size(), INDEX->size()); + test_equal(idx2.actual_size(), INDEX->actual_size()); test :: begin(); for (char c = 'a'; c <= 'z'; c++) { key = c; - it1 = args->index->find(key); + it1 = INDEX->find(key); it2 = idx2.find(key); - if (args->n == 0) { - check_equal(it1, IDX_NULL); - check_equal(it2, IDX_NULL); + if (N == 0) { + check_equal(it1, (IndexEntry *)NULL); + check_equal(it2, (IndexEntry *)NULL); } else { - check_not_equal(it1, IDX_NULL); - check_not_equal(it2, IDX_NULL); + check_not_equal(it1, (IndexEntry *)NULL); + check_not_equal(it2, (IndexEntry *)NULL); check_equal(it1->size(), it2->size()); } } @@ -150,13 +128,15 @@ static void index_test(unsigned int n) const std::string n_str = ss.str(); Index index("index.idx", false); - struct TestArgs args(n, &index); + + N = n; + INDEX = &index; if (n == 0) run_test("Index Single Item Test", test_single_item); - run_test("Index Insertion Test" + n_str, test_insertion, &args); - run_test("Index Removal Test" + n_str, test_removal, &args); - run_test("Index Save and Load Test" + n_str, test_saving, &args); + run_test("Index Insertion Test" + n_str, test_insertion); + run_test("Index Removal Test" + n_str, test_removal); + run_test("Index Save and Load Test" + n_str, test_saving); } int main(int argc, char **argv)