Skip to content

Commit

Permalink
[Linesh][#22] Test: group Enemy.spec.js tests
Browse files Browse the repository at this point in the history
  • Loading branch information
EthanLin-TWer committed Mar 19, 2017
1 parent 3640130 commit 74274e6
Showing 1 changed file with 50 additions and 44 deletions.
94 changes: 50 additions & 44 deletions test/unit/enemy.spec.js
Original file line number Diff line number Diff line change
Expand Up @@ -4,65 +4,71 @@ import { Enemy } from '../../js/Enemy'
import { Game, Speed } from '../../js/constants'
import { Player } from '../../js/Player'

describe('game enemy', () => {
it('should be able to move', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.NORMAL)
enemy.update(1)
describe('enemy', () => {

expect(enemy.x).to.not.equal(Game.col(1))
})
describe('move functionality', () => {
it('should be able to move', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.NORMAL)
enemy.update(1)

it('should be able to move very fast', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.VERY_FAST)
enemy.update(1)
expect(enemy.x).to.not.equal(Game.col(1))
})

expect(enemy.speed).to.equal(Speed.VERY_FAST)
})
it('should be able to move very fast', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.VERY_FAST)
enemy.update(1)

it('should be able to move very slow', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.VERY_SLOW)
enemy.update(1)
expect(enemy.speed).to.equal(Speed.VERY_FAST)
})

expect(enemy.speed).to.equal(Speed.VERY_SLOW)
it('should be able to move very slow', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.VERY_SLOW)
enemy.update(1)

expect(enemy.speed).to.equal(Speed.VERY_SLOW)
})
})

it('should not collide when player is not in the same row', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.FAST)
let player = new Player(Game.col(1), Game.row(3))
describe('collision detection', () => {
it('should not collide when player is not in the same row', () => {
let enemy = new Enemy(Game.col(1), Game.row(2), Speed.FAST)
let player = new Player(Game.col(1), Game.row(3))

let collides = enemy.checkCollision(player)
expect(collides).to.be.false
})
let collides = enemy.checkCollision(player)
expect(collides).to.be.false
})

it('should not collide when player isn\'t close enough', () => {
let enemy = new Enemy(Game.col(2), Game.row(2), Speed.FAST)
let player = new Player(Game.col(1), Game.row(2))
it('should not collide when player isn\'t close enough', () => {
let enemy = new Enemy(Game.col(2), Game.row(2), Speed.FAST)
let player = new Player(Game.col(1), Game.row(2))

let collides = enemy.checkCollision(player)
expect(collides).to.be.false
})
let collides = enemy.checkCollision(player)
expect(collides).to.be.false
})

it('should collide when player meets enemy in the same position', () => {
let enemy = new Enemy(Game.col(2), Game.row(2), Speed.FAST)
let player = new Player(Game.col(2), Game.row(2))
it('should collide when player meets enemy in the same position', () => {
let enemy = new Enemy(Game.col(2), Game.row(2), Speed.FAST)
let player = new Player(Game.col(2), Game.row(2))

let collides = enemy.checkCollision(player)
expect(collides).to.be.true
})
let collides = enemy.checkCollision(player)
expect(collides).to.be.true
})

it('should collide when player is less than 12px closer to the enemy', () => {
let enemy = new Enemy(200, Game.row(3), Speed.FAST)
let player = new Player(212, Game.row(3))
it('should collide when player is less than 12px closer to the enemy', () => {
let enemy = new Enemy(200, Game.row(3), Speed.FAST)
let player = new Player(212, Game.row(3))

let collides = enemy.checkCollision(player)
expect(collides).to.be.true
})
let collides = enemy.checkCollision(player)
expect(collides).to.be.true
})

it('should collide when player is more than 13px far away from the enemy', () => {
let enemy = new Enemy(187, Game.row(3), Speed.FAST)
let player = new Player(200, Game.row(3))
it('should collide when player is more than 13px far away from the enemy', () => {
let enemy = new Enemy(187, Game.row(3), Speed.FAST)
let player = new Player(200, Game.row(3))

let collides = enemy.checkCollision(player)
expect(collides).to.be.false
let collides = enemy.checkCollision(player)
expect(collides).to.be.false
})
})

})

0 comments on commit 74274e6

Please sign in to comment.