Exemplo n.º 1
0
TEST(NAME, DispatchesCreateAndDestroyEntityEvents)
{
    World w;
    MockEntityManagerListener mock;
    EntityManager* em = new EntityManager(&w);
    em->event.addListener(&mock, "mock");

    // uninteresting calls
    EXPECT_CALL(mock, onEntitiesReallocatedHelper(testing::_))
        .Times(testing::AtLeast(0));

    // interesting calls
    EXPECT_CALL(mock, onCreateEntityHelper(testing::_))
        .Times(1);
    EXPECT_CALL(mock, onDestroyEntityHelper(testing::_))
        .Times(1);

    Entity& e = em->createEntity("entity");
    ASSERT_EQ(1, em->getEntityList().size());
    em->destroyEntity(e);
    em->event.removeListener("mock");
    delete em;
}