/
R0man
/
TestTask
Обзор
Документация
Войти
/
R0man
/
TestTask
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
src/test/java/ru/badin/funnyTelephoneDirectory/service/PhoneDirectoryImplTest.java
54 строки
1 KB
romanbadin
Добавлены тесты. PhoneNumberGeneratorTest.java для тестирования механизма генерации случайных номеров.
05 июл 2025, 11:30
05 июл 2025, 11:30
fa8d07c
Код
Авторство
О чём код?
package ru.badin.funnyTelephoneDirectory.service; import org.junit.jupiter.api.*; import org.junit.jupiter.api.Timeout; import static org.junit.jupiter.api.Assertions.*; class PhoneDirectoryImplTest { private PhoneDirectoryImpl directory; private static final int TEST_SIZE = 100_000; private static final int TEST_TIMEOUT = 30; @BeforeEach void setUp() { directory = new PhoneDirectoryImpl(); directory.initializeDirectory(TEST_SIZE); } @AfterEach void tearDown() { directory.shutdown(); } @Test @Timeout(TEST_TIMEOUT) void initializeDirectory_shouldCreateCorrectNumberOfRecords() { assertEquals(TEST_SIZE, directory.getCurrentRecordsCount()); } @Test @Timeout(TEST_TIMEOUT) void startRandomUpdates_shouldModifyRecords() throws Exception { directory.startRandomUpdates(); Thread.sleep(2000); // время на обновления directory.shutdown(); assertTrue(directory.getUpdateCount() > 0); } @Test @Timeout(TEST_TIMEOUT) void printRecordsFromPast_shouldNotThrowWithLargeDataset() { assertDoesNotThrow(() -> directory.printRecordsFromPast(1)); } @Test @Timeout(TEST_TIMEOUT) void shutdown_shouldStopBackgroundTasks() { directory.startRandomUpdates(); directory.shutdown(); assertTrue(directory.isShutdown()); } }