PD Guard: модуль безопасности персональных данных
This commit is contained in:
@@ -0,0 +1,62 @@
|
||||
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.isKnownSettlement("Москва"));
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Казань"));
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Санкт-Петербург"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void recognisesInflectedForms() {
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Москве"), "дательный падеж города на гласную");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Тамбове"), "предложный падеж города на согласную");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Казани"), "родительный падеж");
|
||||
}
|
||||
|
||||
@Test
|
||||
void recognisesCisCapitals() {
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Минск"));
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Алматы"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void rejectsMadeUpWord() {
|
||||
assertFalse(ToponymDictionary.isKnownSettlement("Ерунда"));
|
||||
assertFalse(ToponymDictionary.isKnownSettlement("Бла-бла"));
|
||||
}
|
||||
|
||||
@Test
|
||||
void isCaseInsensitive() {
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("МОСКВА"));
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("москва"));
|
||||
}
|
||||
|
||||
/**
|
||||
* Из переписи 2020–2021, не из ручного списка городов: сёла, посёлки,
|
||||
* деревни, хутора, станицы, аулы, аалы — ровно то, чего не было, пока
|
||||
* словарь ограничивался официальными городами. Примеры из ТЗ («рп.
|
||||
* Ильинское», «с. Кукуево») и по одному реальному названию на тип
|
||||
* населённого пункта.
|
||||
*/
|
||||
@Test
|
||||
void recognisesSettlementsFromCensusNotJustOfficialCities() {
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Ильинское"), "рп. Ильинское — пример из ТЗ");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Кукуево"), "с. Кукуево — пример из ТЗ");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Прогресс"), "хутор");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Гиагинская"), "станица");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Блечепсин"), "аул");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Энем"), "посёлок городского типа");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Аксеновка"), "деревня");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Екатериновка"), "слобода");
|
||||
assertTrue(ToponymDictionary.isKnownSettlement("Сартыков"), "аал (Хакасия)");
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user