1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374 |
- #include "../Tests.hpp"
- #include "core/data/HashMap.hpp"
- #include "core/utils/HashedString.hpp"
- template class Core::HashedString<32>;
- using HString = Core::HashedString<32>;
- static void testComparison() {
- HString a("test");
- HString b("testA");
- HString c("");
- HString d("Btest");
- CORE_TEST_TRUE(a == a);
- CORE_TEST_TRUE(b == b);
- CORE_TEST_TRUE(c == c);
- CORE_TEST_TRUE(d == d);
- CORE_TEST_TRUE(a != b);
- CORE_TEST_TRUE(a != c);
- CORE_TEST_TRUE(a != d);
- CORE_TEST_TRUE(b != a);
- CORE_TEST_TRUE(b != c);
- CORE_TEST_TRUE(b != d);
- CORE_TEST_TRUE(c != a);
- CORE_TEST_TRUE(c != b);
- CORE_TEST_TRUE(c != d);
- CORE_TEST_TRUE(d != a);
- CORE_TEST_TRUE(d != b);
- CORE_TEST_TRUE(d != c);
- }
- static void testLength() {
- HString s("test");
- CORE_TEST_EQUAL(4, s.getLength());
- CORE_TEST_EQUAL(31, s.getCapacity());
- }
- static void testHashCode() {
- HString a;
- HString b("wusi");
- CORE_TEST_EQUAL(a.hashCode(), 0u);
- CORE_TEST_TRUE(b.hashCode() != 0u);
- }
- static void testAsHashMapKey() {
- Core::HashMap<HString, int> map;
- CORE_TEST_ERROR(map.add("wusi", 3));
- CORE_TEST_ERROR(map.add("hiThere", 7));
- CORE_TEST_ERROR(map.add("baum123", 5));
- int* a = map.search("wusi");
- int* b = map.search("hiThere");
- int* c = map.search("baum123");
- int* d = map.search("423hifd");
- CORE_TEST_NOT_NULL(a);
- CORE_TEST_NOT_NULL(b);
- CORE_TEST_NOT_NULL(c);
- CORE_TEST_NULL(d);
- if(a != nullptr && b != nullptr && c != nullptr) {
- CORE_TEST_EQUAL(3, *a);
- CORE_TEST_EQUAL(7, *b);
- CORE_TEST_EQUAL(5, *c);
- }
- }
- void Core::testHashedString() {
- testComparison();
- testLength();
- testHashCode();
- testAsHashMapKey();
- }
|