@tdurtschi/bug
Version:
Bug is a simulation that models a weevil walking around in an HTML canvas.
36 lines • 1.6 kB
JavaScript
;
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
var bug_1 = __importDefault(require("./entities/bug/bug"));
var entity_manager_1 = __importDefault(require("./entity-manager"));
var wall_1 = __importDefault(require("./entities/wall/wall"));
var tree_1 = require("./entities/plant/tree/tree");
describe("Entity Manager", function () {
it("Accepts an initial state", function () {
var dummyEntities = [new bug_1.default()];
var entityManager = new entity_manager_1.default(dummyEntities);
expect(entityManager.getEntities()).toEqual(dummyEntities);
});
it("Can add an entity", function () {
var entityManager = new entity_manager_1.default([]);
var entity = new wall_1.default();
entityManager.addEntity(entity);
expect(entityManager.getEntities()).toContain(entity);
});
it("Sorts entities by z-index when it receives an event", function () {
var plant = new tree_1.Tree(0);
var bug = new bug_1.default(1, { climbingOn: { plant: plant, branch: plant.graph } });
var entities = [
bug,
plant,
];
var entityManager = new entity_manager_1.default(entities);
bug.zIndexChanged.next();
var newList = entityManager.getEntities();
expect(newList[0]).toBe(entities[1]);
expect(newList[1]).toBe(entities[0]);
});
});
//# sourceMappingURL=entity-manager.spec.js.map