From 1b75c32c5b64d4af52f4fc977a319b4b6b0fbe75 Mon Sep 17 00:00:00 2001 From: Alexandr Shleyko Date: Sun, 3 Mar 2019 21:45:27 +0300 Subject: [PATCH] =?UTF-8?q?Level:=20=D0=B4=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB?= =?UTF-8?q?=D1=8F=D0=B5=D1=82=20=D1=82=D0=B5=D1=81=D1=82=D1=8B=20=D0=BD?= =?UTF-8?q?=D0=B0=20=D0=B8=D0=B7=D0=BC=D0=B5=D0=BD=D0=B5=D0=BD=D0=B8=D1=8F?= =?UTF-8?q?=20=D1=81=D1=82=D0=B0=D1=82=D1=83=D1=81=D0=BE=D0=B2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- test/level.spec.js | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/test/level.spec.js b/test/level.spec.js index 347eb51..4d65c6c 100644 --- a/test/level.spec.js +++ b/test/level.spec.js @@ -391,6 +391,7 @@ describe('Класс Level', () => { expect(level.actors).to.have.length(1); expect(level.actors).to.not.include(goldCoin); + expect(level.status).to.equal(null); }); it('Если удалить все монеты, то статус меняется на won', () => { @@ -401,5 +402,45 @@ describe('Класс Level', () => { expect(level.status).to.equal('won'); }); + + it('Если удалить все монеты после касания lava, статус уровня остается lost', () => { + const level = new Level(undefined, [ goldCoin, bronzeCoin ]); + + level.playerTouched('lava'); + level.playerTouched('coin', goldCoin); + level.playerTouched('coin', bronzeCoin); + + expect(level.status).to.equal('lost'); + }); + + it('Если удалить все монеты после касания fireball, статус уровня остается lost', () => { + const level = new Level(undefined, [ goldCoin, bronzeCoin ]); + + level.playerTouched('fireball'); + level.playerTouched('coin', goldCoin); + level.playerTouched('coin', bronzeCoin); + + expect(level.status).to.equal('lost'); + }); + + it('Если коснуться lava после удаления всех монет, статус уровня остается won', () => { + const level = new Level(undefined, [ goldCoin, bronzeCoin ]); + + level.playerTouched('coin', goldCoin); + level.playerTouched('coin', bronzeCoin); + level.playerTouched('lava'); + + expect(level.status).to.equal('won'); + }); + + it('Если коснуться fireball после удаления всех монет, статус уровня остается won', () => { + const level = new Level(undefined, [ goldCoin, bronzeCoin ]); + + level.playerTouched('coin', goldCoin); + level.playerTouched('coin', bronzeCoin); + level.playerTouched('fireball'); + + expect(level.status).to.equal('won'); + }); }); });