                 manager!.setNicknameForEntity(e, nickname: "Priscilla")
                 expect(manager!.getNicknameForEntity(e)).to(equal("Priscilla"))
             }
-            
+
             it ("should free an old nickname when you change it") {
                 let e1 = manager!.newEntityWithNickname("Elvis")
                 manager!.setNicknameForEntity(e1, nickname: "Priscilla")

                    let component0 = SomeComponent(0)
                    let component1 = OtherComponent(1)

                    manager!.setComponent(component0, entity: entity)
                    manager!.setComponent(component1, entity: entity)
                    expect(manager!.getComponentOfType(SomeComponent.self, entity: entity)).to(beIdenticalTo(component0))
                    expect(manager!.getComponentOfType(OtherComponent.self, entity: entity)).to(beIdenticalTo(component1))
                }
            }

        //  it should "support components of multiple types" in { mgr =>
        //    val e = mgr.newEntity()
        //    val c0 = SomeComponent(0)
        //    val c1 = OtherComponent(1)
        //    mgr.set(e, c0)
        //    mgr.set(e, c1)
        //    mgr.get[SomeComponent](e) should be(Some(c0))
        //    mgr.get[OtherComponent](e) should be(Some(c1))
        //  }
        //
        //  it should "disallow setting an entity as a component" in { mgr =>
        //    val e = mgr.newEntity()
        //    val e1 = Entity()

                expect(manager!.getNicknameForEntity(e1)).to(beNil())
            }

            // TODO test that delete (1) removes components and (2) frees nickname

            // ------------------------------
            // MARK: - Components

            describe ("its set/get methods") {
                it ("should set/get a component") {
                    let entity = manager!.newEntity()
                    let component = SomeComponent(0)
                    manager!.setComponent(component, forEntity: entity)
                    expect(manager!.getComponentOfType(SomeComponent.self, forEntity: entity)).to(beIdenticalTo(component))
                }
            }

            describe ("its set method") {
                it ("should replace existing components") {
                    let entity = manager!.newEntity()
                    let component0 = SomeComponent(0)
                    let component1 = SomeComponent(1)

                    manager!.setComponent(component0, forEntity: entity)
                    manager!.setComponent(component1, forEntity: entity)

                    let actual = manager!.getComponentOfType(SomeComponent.self, forEntity: entity)
                    expect(actual).to(beIdenticalTo(component1))
                }

