codecombat/test/app/lib/goal_manager.coffee
2014-01-03 10:32:13 -08:00

56 lines
No EOL
1.4 KiB
CoffeeScript

xdescribe 'GoalManager', ->
GoalManager = require('lib/goal_manager')
liveState =
stateMap:
'1':{health:10}
'2':{health:5}
halfLiveState =
stateMap:
'1':{health:0}
'2':{health:5}
deadState =
stateMap:
'1':{health:0}
'2':{health:-5}
it 'can tell when everyone is dead', ->
gm = new GoalManager(1)
world =
frames: [liveState, liveState, liveState]
gm.setWorld(world)
goal = { id: 'die', name: 'Kill Everyone', killGuy: ['1','2'] }
gm.addGoal goal
expect(gm.goalStates['die'].complete).toBe(false)
world.frames.push(deadState)
world.frames.push(deadState)
gm.setWorld(world)
expect(gm.goalStates['die'].complete).toBe(true)
expect(gm.goalStates['die'].frameCompleted).toBe(3)
it 'can tell when someone is saved', ->
gm = new GoalManager(1)
world =
frames: [liveState, liveState, liveState, deadState, deadState]
gm.setWorld(world)
goal = { id: 'live', name: 'Save guy 2', saveGuy: '2' }
gm.addGoal goal
expect(gm.goalStates['live'].complete).toBe(false)
world =
frames: [liveState, liveState, liveState, liveState, liveState]
gm.setWorld(world)
expect(gm.goalStates['live'].complete).toBe(true)
# world.frames.push(deadState)
# world.frames.push(deadState)
# gm.setWorld(world)
# expect(gm.goalStates['live'].complete).toBe(true)
# expect(gm.goalStates['live'].frameCompleted).toBe(3)