Add simple test

This commit is contained in:
Christian Treffs 2017-10-09 03:48:42 +02:00
parent 4afb0ff42d
commit ec80d1ad1b
3 changed files with 46 additions and 0 deletions

View File

@ -21,6 +21,10 @@ extension ECSEvent {
extension EventHandler {
unowned var listenerRef: EventHandler {
return self
}
/// Subscribe with an event handler closure to receive events of type T
///
/// - Parameter eventHandler: event handler closure

View File

@ -0,0 +1,10 @@
//
// Components.swift
// FirebladeECSTests
//
// Created by Christian Treffs on 09.10.17.
//
import FirebladeECS
struct EmptyComponent: Component { }

View File

@ -3,10 +3,42 @@ import XCTest
class FirebladeECSTests: XCTestCase {
class MyEventHandler: EventHandler {
init() {
subscribe(event: handleEntityCreated)
subscribe(event: handleEntityDestroyed)
subscribe(event: handleComponentAdded)
}
deinit {
unsubscribe(event: handleEntityCreated)
unsubscribe(event: handleComponentAdded)
unsubscribe(event: handleEntityDestroyed)
}
func handleEntityCreated(ec: EntityCreated) {
Log.warn(ec)
}
func handleEntityDestroyed(ed: EntityDestroyed) {
Log.warn(ed)
}
func handleComponentAdded(ca: ComponentAdded) {
Log.debug(ca)
}
}
let eventHandler: MyEventHandler = MyEventHandler()
func testCreateEntity() {
let newEntity = Entity()
XCTAssert(newEntity.hasComponents == false)
XCTAssert(newEntity.uei == 1)
XCTAssert(newEntity.numComponents == 0)
let pC: EmptyComponent? = newEntity.peekComponent()
XCTAssert(pC == nil)
}
}