package ru.pdguard.detect; import org.junit.jupiter.api.Test; import static org.junit.jupiter.api.Assertions.assertFalse; import static org.junit.jupiter.api.Assertions.assertTrue; /** Словарь городов — проверка вместо любого слова с заглавной буквы после «г.». */ class ToponymDictionaryTest { @Test void recognisesNominativeCase() { assertTrue(ToponymDictionary.isKnownCity("Москва")); assertTrue(ToponymDictionary.isKnownCity("Казань")); assertTrue(ToponymDictionary.isKnownCity("Санкт-Петербург")); } @Test void recognisesInflectedForms() { assertTrue(ToponymDictionary.isKnownCity("Москве"), "дательный падеж города на гласную"); assertTrue(ToponymDictionary.isKnownCity("Тамбове"), "предложный падеж города на согласную"); assertTrue(ToponymDictionary.isKnownCity("Казани"), "родительный падеж"); } @Test void recognisesCisCapitals() { assertTrue(ToponymDictionary.isKnownCity("Минск")); assertTrue(ToponymDictionary.isKnownCity("Алматы")); } @Test void rejectsMadeUpWord() { assertFalse(ToponymDictionary.isKnownCity("Ерунда")); assertFalse(ToponymDictionary.isKnownCity("Бла-бла")); } @Test void isCaseInsensitive() { assertTrue(ToponymDictionary.isKnownCity("МОСКВА")); assertTrue(ToponymDictionary.isKnownCity("москва")); } }