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
+4 -4
View File
@@ -28,10 +28,10 @@
"id": "T3", "id": "T3",
"title": "PartyNormalizer testy", "title": "PartyNormalizer testy",
"tag": null, "tag": null,
"status": "todo", "status": "done",
"startedAt": null, "startedAt": "2026-07-07T00:00:00Z",
"finishedAt": null, "finishedAt": "2026-07-07T00:00:00Z",
"note": "" "note": "Dodano alias KO do PARTY_CANONICAL_MAPPINGS. 15 testow zielonych."
}, },
{ {
"id": "T4", "id": "T4",
@@ -12,6 +12,7 @@ public class PartyNormalizer {
Map.entry("koalicja obywatelska", "Koalicja Obywatelska"), Map.entry("koalicja obywatelska", "Koalicja Obywatelska"),
Map.entry("po", "Koalicja Obywatelska"), Map.entry("po", "Koalicja Obywatelska"),
Map.entry("polska oferta", "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("prawo i sprawiedliwosc", "Prawo i Sprawiedliwo\u015b\u0107"),
Map.entry("pis", "Prawo i Sprawiedliwo\u015b\u0107"), Map.entry("pis", "Prawo i Sprawiedliwo\u015b\u0107"),
Map.entry("psl", "PSL"), 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"));
}
}
@@ -1,2 +1,3 @@
com/developx/szpitale/ingest/normalize/PartyNormalizerTest.class
com/developx/szpitale/ingest/normalize/DeduplicatorTest.class com/developx/szpitale/ingest/normalize/DeduplicatorTest.class
com/developx/szpitale/ingest/normalize/NameNormalizerTest.class com/developx/szpitale/ingest/normalize/NameNormalizerTest.class
@@ -1,2 +1,3 @@
/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/DeduplicatorTest.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/DeduplicatorTest.java
/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/NameNormalizerTest.java /home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/NameNormalizerTest.java
/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.java
File diff suppressed because one or more lines are too long
@@ -0,0 +1,4 @@
-------------------------------------------------------------------------------
Test set: com.developx.szpitale.ingest.normalize.PartyNormalizerTest
-------------------------------------------------------------------------------
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.050 s -- in com.developx.szpitale.ingest.normalize.PartyNormalizerTest