From 202ebf58c4a56f33b70530162810c8b7d899198e Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Fri, 7 Aug 2020 10:57:51 +0200 Subject: [PATCH] Add member creation builder test stencil --- .../Stencils/FamilyTests.stencil | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/Tests/FirebladeECSTests/Stencils/FamilyTests.stencil b/Tests/FirebladeECSTests/Stencils/FamilyTests.stencil index 5e66d31..71b3622 100644 --- a/Tests/FirebladeECSTests/Stencils/FamilyTests.stencil +++ b/Tests/FirebladeECSTests/Stencils/FamilyTests.stencil @@ -49,6 +49,24 @@ final class Family{{ idx }}Tests: XCTestCase { {% endfor %} } + func testMemberCreationBuilder() { + let family = nexus.family({% if components.count == 1 %}requires{% else %}requiresAll{%endif%}: {{ CompsSelf }}) + XCTAssertTrue(family.isEmpty) + let entity = family.createMember { + {% for inst in compsInstances %} + {{ inst }} + {% endfor %} + } + XCTAssertEqual(family.count, 1) + XCTAssertEqual(entity.numComponents, {{ idx }}) + XCTAssertEqual(nexus.numFamilies, 1) + XCTAssertEqual(nexus.numEntities, 1) + XCTAssertEqual(nexus.numComponents, {{ idx }}) + {% for comp in components %} + XCTAssertEqual(entity[\{{ comp }}.value], {{ forloop.counter0 }}) + {% endfor %} + } + func testComponentIteration() { let family = nexus.family({% if components.count == 1 %}requires{% else %}requiresAll{%endif%}: {{ CompsSelf }}) XCTAssertTrue(family.isEmpty)