T3: PartyNormalizer testy + KO alias [checkpoint]

This commit is contained in:
Artur Kruszewski
2026-07-07 23:52:42 +02:00
parent afe107cea0
commit bc4eaac8a4
9 changed files with 174 additions and 4 deletions
@@ -12,6 +12,7 @@ public class PartyNormalizer {
Map.entry("koalicja obywatelska", "Koalicja Obywatelska"),
Map.entry("po", "Koalicja Obywatelska"),
Map.entry("polska oferta", "Koalicja Obywatelska"),
Map.entry("ko", "Koalicja Obywatelska"),
Map.entry("prawo i sprawiedliwosc", "Prawo i Sprawiedliwo\u015b\u0107"),
Map.entry("pis", "Prawo i Sprawiedliwo\u015b\u0107"),
Map.entry("psl", "PSL"),
@@ -0,0 +1,90 @@
package com.developx.szpitale.ingest.normalize;
import com.developx.szpitale.model.enums.AffiliationType;
import com.developx.szpitale.model.enums.ConfidenceLevel;
import org.junit.jupiter.api.Test;
import static org.junit.jupiter.api.Assertions.*;
class PartyNormalizerTest {
private final PartyNormalizer normalizer = new PartyNormalizer();
@Test
void canonicalize_poAlias_toKoalicjaObywatelska() {
assertEquals("Koalicja Obywatelska", normalizer.canonicalize("PO"));
}
@Test
void canonicalize_koAlias_toKoalicjaObywatelska() {
assertEquals("Koalicja Obywatelska", normalizer.canonicalize("KO"));
}
@Test
void canonicalize_pisAlias_toPrawoISprawiedliwosc() {
assertEquals("Prawo i Sprawiedliwość", normalizer.canonicalize("PiS"));
}
@Test
void canonicalize_fullName_psl() {
assertEquals("PSL", normalizer.canonicalize("PSL"));
}
@Test
void canonicalize_fullName_polska2050() {
assertEquals("Polska 2050", normalizer.canonicalize("Polska 2050"));
}
@Test
void canonicalize_undefined_name_returnsOriginal() {
String result = normalizer.canonicalize("Nowa Partia");
assertEquals("Nowa Partia", result);
}
@Test
void canonicalize_containsAlias_matchesSubstring() {
String result = normalizer.canonicalize("KWW Nowak");
assertEquals("KWW_LOKALNY", result);
}
@Test
void determineType_kww_returnsKWW_LOKALNY() {
assertEquals(AffiliationType.KWW_LOKALNY, normalizer.determineType("KWW Nowak"));
}
@Test
void determineType_komitet_wyborczy_returnsKOMITET() {
assertEquals(AffiliationType.KOMITET_WYBORCZY, normalizer.determineType("Komitet Wyborczy"));
}
@Test
void determineType_unknown_returnsPARTIA() {
assertEquals(AffiliationType.PARTIA, normalizer.determineType("Prawo i Sprawiedliwość"));
}
@Test
void mapConfidence_niezweryfikowane_toNIEZWERYFIKOWANA() {
assertEquals(ConfidenceLevel.NIEZWERYFIKOWANA, normalizer.mapConfidence("NIEZWERYFIKOWANE"));
}
@Test
void mapConfidence_brak_danych_toBRAK_DANYCH() {
assertEquals(ConfidenceLevel.BRAK_DANYCH, normalizer.mapConfidence("brak danych"));
}
@Test
void mapConfidence_niepotwierdzona_toNIEPOTWIERDZONA() {
assertEquals(ConfidenceLevel.NIEPOTWIERDZONA, normalizer.mapConfidence("brak/niepotwierdzona"));
}
@Test
void mapConfidence_null_toBRAK_DANYCH() {
assertEquals(ConfidenceLevel.BRAK_DANYCH, normalizer.mapConfidence(null));
}
@Test
void mapConfidence_confirmed_default() {
assertEquals(ConfidenceLevel.POTWIERDZONA, normalizer.mapConfidence("potwierdzone"));
}
}