You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Alexander Yakovlev 871a03c27f
note
1 month ago
morph initial commit 1 month ago
parser initial commit 1 month ago
unittest однообразие 1 month ago
.gitignore unit testing 1 month ago
README.md note 1 month ago
main3.lua readme и проверка склонений 1 month ago

README.md

Юниттесты для INSTEAD

Здесь я пытаюсь сделать юнит-тест простой игры. Чтобы его запустить, откройте папку unittest как игру в SDL-INSTEAD или tiny-instead.

Подробнее см. библиотеку lust

В реальной игре придётся сделать символьные ссылки на все lua-файлы в папке unittest, чтобы инстед мог их найти по тем же путям.

Тестовая игра содержит простой пазл "ключ-замок", но приближенный к реальным паззлам:

Несколько вариантов решений

К замку должно подходить два разных ключа двумя разными способами. (В идеале каждый из этих ключей должен использоваться ещё где-то, но это уже усложнение.)

Это же не даёт использовать свойство with_key.

Замок нельзя закрыть

Замок нельзя закрыть, после того как вы его открыли. Игрок не сможет случайно вернуть загадку после того, как её решил.

Единственный способ автотестов - это юнит-тест

Два пункта выше делают стандартный автоскрипт инстеда неприменимым: он может проверить только одно решение за раз и не сможет закрыть замок, чтобы попытаться по-другому. Нужно сооружать юнит-тесты.