2020-11-15 13:20:10 -06:00
|
|
|
#include "storm/Hash.hpp"
|
|
|
|
|
#include "test/Test.hpp"
|
|
|
|
|
|
2020-11-23 23:06:48 -06:00
|
|
|
struct TestHashObject : TSHashObject<TestHashObject, HASHKEY_STRI> {
|
2020-11-15 13:20:10 -06:00
|
|
|
uint32_t index = 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
TEST_CASE("TSHashTable", "[hash]") {
|
|
|
|
|
SECTION("constructs correctly") {
|
|
|
|
|
TSHashTable<TestHashObject, HASHKEY_STRI> hashTable;
|
|
|
|
|
REQUIRE(hashTable.Head() == nullptr);
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-01-02 16:58:12 -06:00
|
|
|
|
|
|
|
|
TEST_CASE("TSHashTable::Clear", "[hash]") {
|
|
|
|
|
SECTION("clears empty hash table correctly") {
|
|
|
|
|
TSHashTable<TestHashObject, HASHKEY_STRI> hashTable;
|
|
|
|
|
hashTable.Clear();
|
|
|
|
|
REQUIRE(hashTable.Head() == nullptr);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
SECTION("clears hash table with entry correctly") {
|
|
|
|
|
TSHashTable<TestHashObject, HASHKEY_STRI> hashTable;
|
|
|
|
|
hashTable.New("testKey", 0, 0x0);
|
|
|
|
|
hashTable.Clear();
|
|
|
|
|
REQUIRE(hashTable.Head() == nullptr);
|
|
|
|
|
}
|
|
|
|
|
}
|