forked from newagebegins/BattleCity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathPowerUpFactorySpec.js
27 lines (25 loc) · 1.02 KB
/
PowerUpFactorySpec.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
describe("PowerUpFactory", function () {
it("should subscribe", function () {
var eventManager = new EventManager();
spyOn(eventManager, 'addSubscriber');
var factory = new PowerUpFactory(eventManager);
expect(eventManager.addSubscriber).toHaveBeenCalledWith(factory, [Tank.Event.FLASHING_TANK_DESTROYED]);
});
describe("#notify", function () {
it("Tank.Event.FLASHING_TANK_DESTROYED", function () {
var eventManager = new EventManager();
var factory = new PowerUpFactory(eventManager);
spyOn(factory, 'create');
var tank = new Tank(eventManager);
factory.notify({'name': Tank.Event.FLASHING_TANK_DESTROYED, 'tank': tank});
expect(factory.create).toHaveBeenCalled();
});
});
it("#create", function () {
var eventManager = new EventManager();
var factory = new PowerUpFactory(eventManager);
factory.setPositions([new Point(0, 0)]);
var powerUp = factory.create();
expect(powerUp instanceof PowerUp).toBeTruthy();
});
});