Add tests

This commit is contained in:
Christian Treffs 2020-07-30 15:34:06 +02:00
parent 2440ec8ed9
commit e695bd380b
No known key found for this signature in database
GPG Key ID: 49A4B4B460BE3ED4
2 changed files with 93 additions and 0 deletions

View File

@ -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)
}
}

View File

@ -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 {
// DO NOT MODIFY: This is autogenerated, use:
// `swift test --generate-linuxmain`
@ -162,6 +174,7 @@ public func __allTests() -> [XCTestCaseEntry] {
return [
testCase(ComponentIdentifierTests.__allTests__ComponentIdentifierTests),
testCase(ComponentTests.__allTests__ComponentTests),
testCase(EntityCreationTests.__allTests__EntityCreationTests),
testCase(EntityTests.__allTests__EntityTests),
testCase(FamilyCodingTests.__allTests__FamilyCodingTests),
testCase(FamilyTests.__allTests__FamilyTests),