Refactored fullName template
New fullName implementation gives same result as fullyQualifiedName for normal types and templated ones, and still works in BetterC
This commit is contained in:
parent
50fa2ce19c
commit
6a600d22c8
3 changed files with 59 additions and 27 deletions
|
|
@ -160,6 +160,22 @@ void afterEveryTest()
|
|||
gEntityManager.destroy();
|
||||
}
|
||||
|
||||
@("RegisteredNames")
|
||||
unittest
|
||||
{
|
||||
import bubel.ecs.traits;
|
||||
|
||||
gEntityManager.beginRegister();
|
||||
gEntityManager.registerSystem!EmptySystem(0);
|
||||
gEntityManager.registerSystem!EntityCounterSystem(0);
|
||||
gEntityManager.endRegister();
|
||||
|
||||
System* empty_system = gEntityManager.getSystem(becsID!EmptySystem);
|
||||
System* counter_system = gEntityManager.getSystem(becsID!EntityCounterSystem);
|
||||
assert(empty_system.name == "tests.basic.EmptySystem", fullName!EmptySystem);
|
||||
assert(counter_system.name == "tests.basic.EntityCounterSystem", fullName!EntityCounterSystem);
|
||||
}
|
||||
|
||||
@("EntityMeta")
|
||||
unittest
|
||||
{
|
||||
|
|
|
|||
33
tests/bugs.d
33
tests/bugs.d
|
|
@ -172,4 +172,35 @@ unittest
|
|||
gEntityManager.commit();
|
||||
|
||||
gEntityManager.destroy();
|
||||
}
|
||||
}
|
||||
|
||||
@("3-template-system-compilation-file")
|
||||
unittest
|
||||
{
|
||||
struct TemplateSystem(T)
|
||||
{
|
||||
struct EntitiesData
|
||||
{
|
||||
uint length;
|
||||
}
|
||||
|
||||
uint a;
|
||||
uint b;
|
||||
}
|
||||
|
||||
struct TempalteComponent(T)
|
||||
{
|
||||
T parameter;
|
||||
}
|
||||
|
||||
gEntityManager.initialize(0);
|
||||
|
||||
gEntityManager.beginRegister();
|
||||
|
||||
gEntityManager.registerComponent!CInt;
|
||||
gEntityManager.registerComponent!(TempalteComponent!uint);
|
||||
gEntityManager.registerSystem!(TemplateSystem!CInt)(0);
|
||||
|
||||
gEntityManager.endRegister();
|
||||
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue