Преглед на файлове

avl_tree: bug fixes + tests + nit

undefined
Guillaume Bittoun Sam Hocevar <sam@hocevar.net> преди 10 години
родител
ревизия
227690f3b0
променени са 1 файла, в които са добавени 31 реда и са изтрити 2 реда
  1. +31
    -2
      src/t/algorithm/avl_tree.cpp

+ 31
- 2
src/t/algorithm/avl_tree.cpp Целия файл

@@ -12,8 +12,6 @@

#include <lol/engine-internal.h>

#include <lol/algorithm/avl_tree.h>

#include <lolunit.h>

namespace lol
@@ -95,6 +93,37 @@ lolunit_declare_fixture(AvlTreeTest)
lolunit_assert_equal(tree.erase(20), true);
lolunit_assert_equal(tree.insert(20, 1), true);
}

lolunit_declare_test(AvlTreeExistence)
{
test_tree tree;

lolunit_assert_equal(tree.insert(10, 1), true);
lolunit_assert_equal(tree.get_root_balance(), 0);

lolunit_assert_equal(tree.insert(20, 1), true);
lolunit_assert_equal(tree.get_root_balance(), 1);

lolunit_assert_equal(tree.erase(10), true);
lolunit_assert_equal(tree.exists(20), true);
lolunit_assert_equal(tree.exists(10), false);

lolunit_assert_equal(tree.insert(10, 1), true);
lolunit_assert_equal(tree.get_root_balance(), -1);

lolunit_assert_equal(tree.insert(30, 1), true);
lolunit_assert_equal(tree.get_root_balance(), 0);

lolunit_assert_equal(tree.insert(40, 1), true);
lolunit_assert_equal(tree.get_root_balance(), 1);

lolunit_assert_equal(tree.insert(50, 1), true);
lolunit_assert_equal(tree.get_root_balance(), 1);

lolunit_assert_equal(tree.erase(30), true);
lolunit_assert_equal(tree.exists(40), true);
lolunit_assert_equal(tree.exists(50), true);
}
};

}

Зареждане…
Отказ
Запис