squall/test/Hash.cpp

37 lines
1.1 KiB
C++
Raw Normal View History

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);
}
}
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);
}
2021-01-03 00:33:20 -06:00
SECTION("clears hash table with multiple entries correctly") {
TSHashTable<TestHashObject, HASHKEY_STRI> hashTable;
hashTable.New("testKey1", 0, 0x0);
hashTable.New("testKey2", 0, 0x0);
hashTable.Clear();
REQUIRE(hashTable.Head() == nullptr);
}
}