Added more tests

-added Vector test
-added HashMap test
-added EntityMeta test
-added default hashing function to hashmap
This commit is contained in:
Mergul 2020-05-27 19:46:11 +02:00
parent 2f827a94db
commit f964d7bf85
6 changed files with 133 additions and 7 deletions

View file

@ -1,7 +1,16 @@
module tests.vector;
import bubel.ecs.simple_vector;
//import bubel.ecs.vector;
import bubel.ecs.vector;
version(GNU)
{
pragma(inline, true) T[n] staticArray(T, size_t n)(auto ref T[n] a)
{
return a;
}
}
else import std.array : staticArray;
@("simple-vector")
unittest
@ -33,3 +42,38 @@ unittest
assert(vector2[1023] == 'a');
assert(vector2[1024] == 'b');
}
@("Vector")
unittest
{
struct G
{
int a;
}
Vector!G vector;
assert(vector.empty());
vector.add(G(1));
assert(!vector.empty());
vector.clear();
assert(vector.empty());
vector.add(G(1));
assert(!vector.empty());
vector.reset();
assert(vector.empty());
vector.add(G(1));
vector.add([G(2),G(5)].staticArray);
assert(vector.length == 3);
assert(vector.capacity == 1);
Vector!G vector2;
vector2.add([G(1),G(2),G(5)].staticArray);
assert(vector == vector2);
vector2.remove(1);
assert(vector != vector2);
assert(vector2.length == 2);
assert(vector2[1] == G(5));
vector2.add(G(2),1);
assert(vector == vector2);
}