Add tests
This commit is contained in:
parent
2440ec8ed9
commit
e695bd380b
|
|
@ -0,0 +1,80 @@
|
||||||
|
//
|
||||||
|
// EntityCreationTests.swift
|
||||||
|
//
|
||||||
|
//
|
||||||
|
// Created by Christian Treffs on 30.07.20.
|
||||||
|
//
|
||||||
|
|
||||||
|
import FirebladeECS
|
||||||
|
import XCTest
|
||||||
|
|
||||||
|
final class EntityCreationTests: XCTestCase {
|
||||||
|
|
||||||
|
func testCreateEntityOneComponent() throws {
|
||||||
|
let nexus = Nexus()
|
||||||
|
let entity = nexus.createEntity {
|
||||||
|
Position(x: 1, y: 2)
|
||||||
|
}
|
||||||
|
|
||||||
|
XCTAssertEqual(entity[\Position.x], 1)
|
||||||
|
XCTAssertEqual(entity[\Position.y], 2)
|
||||||
|
|
||||||
|
XCTAssertEqual(nexus.numEntities, 1)
|
||||||
|
XCTAssertEqual(nexus.numComponents, 1)
|
||||||
|
XCTAssertEqual(nexus.numFamilies, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testCreateEntityMultipleComponents() throws {
|
||||||
|
let nexus = Nexus()
|
||||||
|
|
||||||
|
let entity = nexus.createEntity {
|
||||||
|
Position(x: 1, y: 2)
|
||||||
|
Name(name: "Hello")
|
||||||
|
}
|
||||||
|
|
||||||
|
XCTAssertEqual(entity[\Position.x], 1)
|
||||||
|
XCTAssertEqual(entity[\Position.y], 2)
|
||||||
|
|
||||||
|
XCTAssertEqual(entity[\Name.name], "Hello")
|
||||||
|
|
||||||
|
XCTAssertEqual(nexus.numEntities, 1)
|
||||||
|
XCTAssertEqual(nexus.numComponents, 2)
|
||||||
|
XCTAssertEqual(nexus.numFamilies, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testBulkCreateEntitiesOneComponent() throws {
|
||||||
|
let nexus = Nexus()
|
||||||
|
|
||||||
|
let entities = nexus.createEntities(count: 100) { ctx in
|
||||||
|
Velocity(a: Float(ctx.index))
|
||||||
|
}
|
||||||
|
|
||||||
|
XCTAssertEqual(entities[0][\Velocity.a], 0)
|
||||||
|
XCTAssertEqual(entities[99][\Velocity.a], 99)
|
||||||
|
|
||||||
|
XCTAssertEqual(nexus.numEntities, 100)
|
||||||
|
XCTAssertEqual(nexus.numComponents, 100)
|
||||||
|
XCTAssertEqual(nexus.numFamilies, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testBulkCreateEntitiesMultipleComponents() throws {
|
||||||
|
let nexus = Nexus()
|
||||||
|
|
||||||
|
let entities = nexus.createEntities(count: 100) { ctx in
|
||||||
|
Position(x: ctx.index, y: ctx.index)
|
||||||
|
Name(name: "\(ctx.index)")
|
||||||
|
}
|
||||||
|
|
||||||
|
XCTAssertEqual(entities[0][\Position.x], 0)
|
||||||
|
XCTAssertEqual(entities[0][\Position.y], 0)
|
||||||
|
XCTAssertEqual(entities[0][\Name.name], "0")
|
||||||
|
XCTAssertEqual(entities[99][\Position.x], 99)
|
||||||
|
XCTAssertEqual(entities[99][\Position.y], 99)
|
||||||
|
XCTAssertEqual(entities[99][\Name.name], "99")
|
||||||
|
|
||||||
|
XCTAssertEqual(nexus.numEntities, 100)
|
||||||
|
XCTAssertEqual(nexus.numComponents, 200)
|
||||||
|
XCTAssertEqual(nexus.numFamilies, 0)
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
@ -20,6 +20,18 @@ extension ComponentTests {
|
||||||
]
|
]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
extension EntityCreationTests {
|
||||||
|
// DO NOT MODIFY: This is autogenerated, use:
|
||||||
|
// `swift test --generate-linuxmain`
|
||||||
|
// to regenerate.
|
||||||
|
static let __allTests__EntityCreationTests = [
|
||||||
|
("testBulkCreateEntitiesMultipleComponents", testBulkCreateEntitiesMultipleComponents),
|
||||||
|
("testBulkCreateEntitiesOneComponent", testBulkCreateEntitiesOneComponent),
|
||||||
|
("testCreateEntityMultipleComponents", testCreateEntityMultipleComponents),
|
||||||
|
("testCreateEntityOneComponent", testCreateEntityOneComponent)
|
||||||
|
]
|
||||||
|
}
|
||||||
|
|
||||||
extension EntityTests {
|
extension EntityTests {
|
||||||
// DO NOT MODIFY: This is autogenerated, use:
|
// DO NOT MODIFY: This is autogenerated, use:
|
||||||
// `swift test --generate-linuxmain`
|
// `swift test --generate-linuxmain`
|
||||||
|
|
@ -162,6 +174,7 @@ public func __allTests() -> [XCTestCaseEntry] {
|
||||||
return [
|
return [
|
||||||
testCase(ComponentIdentifierTests.__allTests__ComponentIdentifierTests),
|
testCase(ComponentIdentifierTests.__allTests__ComponentIdentifierTests),
|
||||||
testCase(ComponentTests.__allTests__ComponentTests),
|
testCase(ComponentTests.__allTests__ComponentTests),
|
||||||
|
testCase(EntityCreationTests.__allTests__EntityCreationTests),
|
||||||
testCase(EntityTests.__allTests__EntityTests),
|
testCase(EntityTests.__allTests__EntityTests),
|
||||||
testCase(FamilyCodingTests.__allTests__FamilyCodingTests),
|
testCase(FamilyCodingTests.__allTests__FamilyCodingTests),
|
||||||
testCase(FamilyTests.__allTests__FamilyTests),
|
testCase(FamilyTests.__allTests__FamilyTests),
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue