instead-unittest/unittest/main3.lua

100 lines
2.9 KiB
Lua

--$Name: Тест открывания$
--$Version: 1.0$
--$Author:Александр Яковлев$
std.SOURCES_DIRS = { '..' }
dofile '../main3.lua'
instead.noautosave = true
local lust = require 'lust'
local describe, it, expect = lust.describe, lust.it, lust.expect
function parse(text)
return mp:parse(text)
end
function init()
lifeon(pl)
end
pl.life = function(s)
lifeoff(s)
describe('игра', function()
lust.before(function()
expect(std.game.__started).to.be(true);
end)
it('склонения', function()
expect(mp.fmt('{#me}')).to.be('ты')
expect(mp.fmt('{#me/вн}')).to.be('тебя')
expect(_('lock'):noun('дт')).to.be('замку')
end);
describe('замок', function()
lust.before(function()
local lock = _('lock');
lock:attr('locked');
lock:attr('closed');
lock:attr('~open');
expect(lock:has('locked')).to.be(true)
expect(lock:has('closed')).to.be(true)
expect(lock:has('open')).to.be(false)
end)
it('открывание', function()
std.call(mp, 'input:text', 'открыть замок')
local lock = _('lock');
std.call(mp, 'input:text', 'отпереть замок')
expect(lock:has('locked')).to.be(true)
end);
it('открывание кодом', function()
local lock = _('lock');
local code = _('code');
expect(pl.obj:srch('code')).to.be(nil)
parse('открыть замок кодом')
expect(lock:has('locked')).to.be(false)
-- код автоматически подбирается
expect(pl.obj:srch('code')).to.be(code)
end);
it('открывание отмычкой', function()
local lock = _('lock');
local pin = _('pin');
parse('открыть замок отмычкой')
expect(lock:has('locked')).to.be(false)
expect(pl.obj:srch('pin')).to.be(pin)
end)
it('отпирание кодом', function()
local lock = _('lock');
local code = _('code');
parse('отпереть замок кодом')
expect(lock:has('locked')).to.be(false)
-- код автоматически подбирается
expect(pl.obj:srch('code')).to.be(code)
end)
it('отпирание отмычкой', function()
local lock = _('lock');
local pin = _('pin');
parse('отпереть замок отмычкой')
expect(lock:has('locked')).to.be(false)
expect(pl.obj:srch('pin')).to.be(pin)
end)
it('отпирание карандашом', function()
local lock = _('lock');
local pencil = _('pencil');
parse('отпереть замок карандашом')
expect(lock:has('locked')).to.be(true)
expect(pl.obj:srch('pencil')).to.be(nil)
end)
end)
end)
return false
end;