This commit is contained in:
Christian Treffs 2020-08-07 10:57:57 +02:00
parent 202ebf58c4
commit b2ae49b231
No known key found for this signature in database
GPG Key ID: 49A4B4B460BE3ED4
2 changed files with 184 additions and 8 deletions

View File

@ -25,6 +25,20 @@ final class Family1Tests: XCTestCase {
XCTAssertEqual(entity[\Comp1.value], 0)
}
func testMemberCreationBuilder() {
let family = nexus.family(requires: Comp1.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 1)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 1)
XCTAssertEqual(entity[\Comp1.value], 0)
}
func testComponentIteration() {
let family = nexus.family(requires: Comp1.self)
XCTAssertTrue(family.isEmpty)
@ -157,6 +171,22 @@ final class Family2Tests: XCTestCase {
XCTAssertEqual(entity[\Comp2.value], 1)
}
func testMemberCreationBuilder() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
Comp2(1)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 2)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 2)
XCTAssertEqual(entity[\Comp1.value], 0)
XCTAssertEqual(entity[\Comp2.value], 1)
}
func testComponentIteration() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self)
XCTAssertTrue(family.isEmpty)
@ -295,6 +325,24 @@ final class Family3Tests: XCTestCase {
XCTAssertEqual(entity[\Comp3.value], 2)
}
func testMemberCreationBuilder() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
Comp2(1)
Comp3(2)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 3)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 3)
XCTAssertEqual(entity[\Comp1.value], 0)
XCTAssertEqual(entity[\Comp2.value], 1)
XCTAssertEqual(entity[\Comp3.value], 2)
}
func testComponentIteration() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self)
XCTAssertTrue(family.isEmpty)
@ -439,6 +487,26 @@ final class Family4Tests: XCTestCase {
XCTAssertEqual(entity[\Comp4.value], 3)
}
func testMemberCreationBuilder() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
Comp2(1)
Comp3(2)
Comp4(3)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 4)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 4)
XCTAssertEqual(entity[\Comp1.value], 0)
XCTAssertEqual(entity[\Comp2.value], 1)
XCTAssertEqual(entity[\Comp3.value], 2)
XCTAssertEqual(entity[\Comp4.value], 3)
}
func testComponentIteration() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self)
XCTAssertTrue(family.isEmpty)
@ -589,6 +657,28 @@ final class Family5Tests: XCTestCase {
XCTAssertEqual(entity[\Comp5.value], 4)
}
func testMemberCreationBuilder() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
Comp2(1)
Comp3(2)
Comp4(3)
Comp5(4)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 5)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 5)
XCTAssertEqual(entity[\Comp1.value], 0)
XCTAssertEqual(entity[\Comp2.value], 1)
XCTAssertEqual(entity[\Comp3.value], 2)
XCTAssertEqual(entity[\Comp4.value], 3)
XCTAssertEqual(entity[\Comp5.value], 4)
}
func testComponentIteration() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self)
XCTAssertTrue(family.isEmpty)
@ -745,6 +835,30 @@ final class Family6Tests: XCTestCase {
XCTAssertEqual(entity[\Comp6.value], 5)
}
func testMemberCreationBuilder() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self, Comp6.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
Comp2(1)
Comp3(2)
Comp4(3)
Comp5(4)
Comp6(5)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 6)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 6)
XCTAssertEqual(entity[\Comp1.value], 0)
XCTAssertEqual(entity[\Comp2.value], 1)
XCTAssertEqual(entity[\Comp3.value], 2)
XCTAssertEqual(entity[\Comp4.value], 3)
XCTAssertEqual(entity[\Comp5.value], 4)
XCTAssertEqual(entity[\Comp6.value], 5)
}
func testComponentIteration() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self, Comp6.self)
XCTAssertTrue(family.isEmpty)
@ -907,6 +1021,32 @@ final class Family7Tests: XCTestCase {
XCTAssertEqual(entity[\Comp7.value], 6)
}
func testMemberCreationBuilder() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self, Comp6.self, Comp7.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
Comp2(1)
Comp3(2)
Comp4(3)
Comp5(4)
Comp6(5)
Comp7(6)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 7)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 7)
XCTAssertEqual(entity[\Comp1.value], 0)
XCTAssertEqual(entity[\Comp2.value], 1)
XCTAssertEqual(entity[\Comp3.value], 2)
XCTAssertEqual(entity[\Comp4.value], 3)
XCTAssertEqual(entity[\Comp5.value], 4)
XCTAssertEqual(entity[\Comp6.value], 5)
XCTAssertEqual(entity[\Comp7.value], 6)
}
func testComponentIteration() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self, Comp6.self, Comp7.self)
XCTAssertTrue(family.isEmpty)
@ -1075,6 +1215,34 @@ final class Family8Tests: XCTestCase {
XCTAssertEqual(entity[\Comp8.value], 7)
}
func testMemberCreationBuilder() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self, Comp6.self, Comp7.self, Comp8.self)
XCTAssertTrue(family.isEmpty)
let entity = family.createMember {
Comp1(0)
Comp2(1)
Comp3(2)
Comp4(3)
Comp5(4)
Comp6(5)
Comp7(6)
Comp8(7)
}
XCTAssertEqual(family.count, 1)
XCTAssertEqual(entity.numComponents, 8)
XCTAssertEqual(nexus.numFamilies, 1)
XCTAssertEqual(nexus.numEntities, 1)
XCTAssertEqual(nexus.numComponents, 8)
XCTAssertEqual(entity[\Comp1.value], 0)
XCTAssertEqual(entity[\Comp2.value], 1)
XCTAssertEqual(entity[\Comp3.value], 2)
XCTAssertEqual(entity[\Comp4.value], 3)
XCTAssertEqual(entity[\Comp5.value], 4)
XCTAssertEqual(entity[\Comp6.value], 5)
XCTAssertEqual(entity[\Comp7.value], 6)
XCTAssertEqual(entity[\Comp8.value], 7)
}
func testComponentIteration() {
let family = nexus.family(requiresAll: Comp1.self, Comp2.self, Comp3.self, Comp4.self, Comp5.self, Comp6.self, Comp7.self, Comp8.self)
XCTAssertTrue(family.isEmpty)

View File

@ -57,7 +57,8 @@ extension Family1Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}
@ -72,7 +73,8 @@ extension Family2Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}
@ -87,7 +89,8 @@ extension Family3Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}
@ -102,7 +105,8 @@ extension Family4Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}
@ -117,7 +121,8 @@ extension Family5Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}
@ -132,7 +137,8 @@ extension Family6Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}
@ -147,7 +153,8 @@ extension Family7Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}
@ -162,7 +169,8 @@ extension Family8Tests {
("testFamilyDecoding", testFamilyDecoding),
("testFamilyEncoding", testFamilyEncoding),
("testFamilyFailDecoding", testFamilyFailDecoding),
("testMemberCreation", testMemberCreation)
("testMemberCreation", testMemberCreation),
("testMemberCreationBuilder", testMemberCreationBuilder)
]
}