Divide Framework 0.1
A free and open-source 3D Framework under heavy development
Loading...
Searching...
No Matches
HashTests.cpp
Go to the documentation of this file.
3
4namespace Divide
5{
6
7TEST_CASE( "String Hash Combine Tests", "[hash_test]" )
8{
9 const string inputA = "bla1";
10 const string inputB = "bla1";
11
12 size_t seed1 = 0, seed2 = 0;
13 Util::Hash_combine(seed1, inputA);
14 Util::Hash_combine(seed2, inputB);
15
16 CHECK_EQUAL(seed1, seed2);
17}
18
19TEST_CASE( "ResourceDescriptor Hash Combine Tests", "[hash_test]" )
20{
21 ResourceDescriptor<CachedResource> inputA("testDescriptor");
22 inputA.flag(true);
23
24 ResourceDescriptor<CachedResource> inputB("testDescriptor");
25 inputB.flag(true);
26
27 CHECK_EQUAL( inputA.getHash(), inputB.getHash() );
28 CHECK_EQUAL( inputA, inputB );
29
30 P32 testMask;
31 testMask.i = 0;
32 testMask.b[2] = true;
33 inputB.mask(testMask);
34
35 CHECK_NOT_EQUAL( inputA.getHash(), inputB.getHash() );
36 CHECK_NOT_EQUAL( inputA, inputB );
37}
38
39} //namespace Divide
void Hash_combine(size_t &seed, const T &v, const Rest &... rest) noexcept
a la Boost
Definition: MathHelper.inl:799
Handle console commands that start with a forward slash.
Definition: AIProcessor.cpp:7
TEST_CASE("ByteBuffer RW Bool", "[byte_buffer]")
size_t getHash() const final
Definition: Resource.inl:71
#define CHECK_NOT_EQUAL(LHS, RHS)
#define CHECK_EQUAL(LHS, RHS)