From 998ce2583c6e22631a3698476aa1c5b0bf24d2a3 Mon Sep 17 00:00:00 2001 From: Christian Treffs Date: Fri, 7 Aug 2020 09:47:10 +0200 Subject: [PATCH] Add destroyMembers tests --- Tests/FirebladeECSTests/FamilyTests.swift | 27 +++++++++++++++++++ Tests/FirebladeECSTests/XCTestManifests.swift | 1 + 2 files changed, 28 insertions(+) diff --git a/Tests/FirebladeECSTests/FamilyTests.swift b/Tests/FirebladeECSTests/FamilyTests.swift index 4a709ea..3b3909d 100644 --- a/Tests/FirebladeECSTests/FamilyTests.swift +++ b/Tests/FirebladeECSTests/FamilyTests.swift @@ -185,6 +185,33 @@ class FamilyTests: XCTestCase { XCTAssertEqual(family.memberIds.count, count + (count / 2)) } + func testFamilyDestroyMembers() { + let family = nexus.family(requiresAll: Position.self, Color.self) + + family.createMember(with: (Position(x: 1, y: 2), Color(r: 1, g: 2, b: 3))) + family.createMember(with: (Position(x: 3, y: 4), Color(r: 4, g: 5, b: 6))) + nexus.createEntity(with: Name(name: "anotherEntity")) + + XCTAssertEqual(nexus.numFamilies, 1) + XCTAssertEqual(nexus.numComponents, 5) + XCTAssertEqual(nexus.numEntities, 3) + XCTAssertEqual(family.count, 2) + + XCTAssertTrue(family.destroyMembers()) + + XCTAssertEqual(nexus.numFamilies, 1) + XCTAssertEqual(nexus.numComponents, 1) + XCTAssertEqual(nexus.numEntities, 1) + XCTAssertEqual(family.count, 0) + + XCTAssertFalse(family.destroyMembers()) + + XCTAssertEqual(nexus.numFamilies, 1) + XCTAssertEqual(nexus.numComponents, 1) + XCTAssertEqual(nexus.numEntities, 1) + XCTAssertEqual(family.count, 0) + } + func testFamilyCreateMembers() { let position = Position(x: 0, y: 1) let name = Name(name: "SomeName") diff --git a/Tests/FirebladeECSTests/XCTestManifests.swift b/Tests/FirebladeECSTests/XCTestManifests.swift index ea23498..60104b1 100644 --- a/Tests/FirebladeECSTests/XCTestManifests.swift +++ b/Tests/FirebladeECSTests/XCTestManifests.swift @@ -194,6 +194,7 @@ extension FamilyTests { ("testFamilyBulkDestroy", testFamilyBulkDestroy), ("testFamilyCreateMembers", testFamilyCreateMembers), ("testFamilyCreation", testFamilyCreation), + ("testFamilyDestroyMembers", testFamilyDestroyMembers), ("testFamilyExchange", testFamilyExchange), ("testFamilyLateMember", testFamilyLateMember), ("testFamilyMemberBasicIteration", testFamilyMemberBasicIteration),