/
mainstream
/
hw10
Обзор
Документация
Войти
/
mainstream
/
hw10
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
code_lock/test/code_lock_SUITE.erl
43 строки
1 KB
iv323s29
Add
15 янв 2026, 18:30
15 янв 2026, 18:30
dc76667
Код
Авторство
О чём код?
-module(code_lock_SUITE). -include_lib("common_test/include/ct.hrl"). -export([all/0, init_per_testcase/2, end_per_testcase/2]). -export([correct_code/1, wrong_three_times/1, change_code_in_open/1]). all() -> [correct_code, wrong_three_times, change_code_in_open]. init_per_testcase(_, Config) -> {ok, Pid} = code_lock:start_link([1,2,3]), [{pid, Pid} | Config]. end_per_testcase(_, _Config) -> exit(proplists:get_value(pid, _Config), kill), timer:sleep(100), ok. correct_code(_Config) -> code_lock:button(1), code_lock:button(2), code_lock:button(3), % Здесь можно проверить вывод через mock или лог, но для простоты просто ждём timer:sleep(11000), % дожидаемся auto-lock ok. wrong_three_times(_Config) -> code_lock:button(0), code_lock:button(0), code_lock:button(0), timer:sleep(100), % должно быть suspended code_lock:button(1), % должно игнорироваться timer:sleep(10500), % ждём выхода из suspended ok. change_code_in_open(_Config) -> code_lock:button(1), code_lock:button(2), code_lock:button(3), timer:sleep(100), Res = code_lock:change_code([7,8,9]), ct:assertEqual(ok, Res), timer:sleep(11000), ok.