module Tests; import Core.HashMap; import Core.HashedString; import Core.Test; template class Core::HashedString<32>; using HString = Core::HashedString<32>; static void testComparison() { HString a("test"); Core::testString("test", static_cast(a)); HString b("testA"); HString c(""); HString d("Btest"); Core::testTrue(a == a); Core::testTrue(b == b); Core::testTrue(c == c); Core::testTrue(d == d); Core::testTrue(a != b); Core::testTrue(a != c); Core::testTrue(a != d); Core::testTrue(b != a); Core::testTrue(b != c); Core::testTrue(b != d); Core::testTrue(c != a); Core::testTrue(c != b); Core::testTrue(c != d); Core::testTrue(d != a); Core::testTrue(d != b); Core::testTrue(d != c); } static void testLength() { HString s("test"); Core::test(4, s.getLength()); Core::test(31, s.getCapacity()); } static void testHashCode() { HString a; HString b("wusi"); Core::test(a.hashCode(), 0lu); Core::testTrue(b.hashCode() != 0u); } static void testAsHashMapKey() { Core::HashMap map; map.add("wusi", 3).add("hiThere", 7).add("baum123", 5); int* a = map.search("wusi"); int* b = map.search("hiThere"); int* c = map.search("baum123"); Core::testNull(map.search("423hifd")); if(Core::testNotNull(a) && Core::testNotNull(b) && Core::testNotNull(c)) { Core::test(3, *a); Core::test(7, *b); Core::test(5, *c); } } void testHashedString() { testComparison(); testLength(); testHashCode(); testAsHashMapKey(); }