From bc4eaac8a489953668f279ac75dc6fe5a158eb57 Mon Sep 17 00:00:00 2001 From: Artur Kruszewski Date: Tue, 7 Jul 2026 23:52:42 +0200 Subject: [PATCH] T3: PartyNormalizer testy + KO alias [checkpoint] --- szpitale-graph/local-agent-progress.json | 8 +- .../ingest/normalize/PartyNormalizer.java | 1 + .../ingest/normalize/PartyNormalizerTest.java | 90 ++++++++++++++++++ .../ingest/normalize/PartyNormalizer.class | Bin 3697 -> 3720 bytes .../default-testCompile/createdFiles.lst | 1 + .../default-testCompile/inputFiles.lst | 1 + ...e.ingest.normalize.PartyNormalizerTest.xml | 73 ++++++++++++++ ...e.ingest.normalize.PartyNormalizerTest.txt | 4 + .../normalize/PartyNormalizerTest.class | Bin 0 -> 3607 bytes 9 files changed, 174 insertions(+), 4 deletions(-) create mode 100644 szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.java create mode 100644 szpitale-graph/target/surefire-reports/TEST-com.developx.szpitale.ingest.normalize.PartyNormalizerTest.xml create mode 100644 szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt create mode 100644 szpitale-graph/target/test-classes/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.class diff --git a/szpitale-graph/local-agent-progress.json b/szpitale-graph/local-agent-progress.json index 6ed758d..2b81d69 100644 --- a/szpitale-graph/local-agent-progress.json +++ b/szpitale-graph/local-agent-progress.json @@ -28,10 +28,10 @@ "id": "T3", "title": "PartyNormalizer testy", "tag": null, - "status": "todo", - "startedAt": null, - "finishedAt": null, - "note": "" + "status": "done", + "startedAt": "2026-07-07T00:00:00Z", + "finishedAt": "2026-07-07T00:00:00Z", + "note": "Dodano alias KO do PARTY_CANONICAL_MAPPINGS. 15 testow zielonych." }, { "id": "T4", diff --git a/szpitale-graph/src/main/java/com/developx/szpitale/ingest/normalize/PartyNormalizer.java b/szpitale-graph/src/main/java/com/developx/szpitale/ingest/normalize/PartyNormalizer.java index 1e8a3ed..f88771f 100644 --- a/szpitale-graph/src/main/java/com/developx/szpitale/ingest/normalize/PartyNormalizer.java +++ b/szpitale-graph/src/main/java/com/developx/szpitale/ingest/normalize/PartyNormalizer.java @@ -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"), diff --git a/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.java b/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.java new file mode 100644 index 0000000..5a9e8df --- /dev/null +++ b/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.java @@ -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")); + } +} diff --git a/szpitale-graph/target/classes/com/developx/szpitale/ingest/normalize/PartyNormalizer.class b/szpitale-graph/target/classes/com/developx/szpitale/ingest/normalize/PartyNormalizer.class index 2fdeb3917427582fe3e094eaebbe18325fb92560..d46c5276c3584b1a9d54a98d286584d9f0af0b0d 100644 GIT binary patch delta 1106 zcmY+C*-ukJ6vn@4x$V&2LKznl6mwlr0vM{IX#_MXFPc6O%L|E#mbPkb^^z7+!3Es+ z^}6GNySN~W%A(-D#DBzReKf>)=H7zXq<6mg=FB<2IWs?J9xZfz|1&%aU=_agx;7|t zY;m1qC&To{WGJm`F)bxUEE-9~(t0Y)(Q33Sg^}G1_QqI>W3Lpc1V=lG+F*cVKZCnb zPo&}@ZLx2ukK-U2wUdp*44$TBYcw1SX_2J9CB$)*th$UzRKE<^6Po6zH- z#Eup>if~`W13YA~>6;nqi;Y#zc}6+?eTteBj5bwfBM)6F9^*-Wo0Ho&J*CFm@C*gg z0)sX0hC*6_gTBuxqMSxXqf#;e)@yF*p|4y9vLPMS3P2zFX~ysZFDdbJla}LmJneD zku5WsG}vjqY=WdLL!uDBMI!6EU>`$1)wQetmwSizvK)nU&?r;+OTWU|hq|6pqg$<* z#IT%BR|yZQ=t8O~`wF61If=nP!QjUSvl|}j+dl?3vgp`(1ffnqe4v6HAIC3~O`~(l z-;g(V1QqpmVT3$dTYM1PgY{047A>aYVpm3a9b%7YGfl5k>=Oqp$;BaY#FE+K*tm3w z6XKNRy2TlB&XTGy#6?Sb#AR{Sk~w0v=#X*{*Jt&^OVdtqN7M}BUOyhmN5vqY&N>KV jN=|iACpG0B-1JflsgIv%#fH!LLZgc!E9mOJIKl9<2N{&kNI2HsqE(bvm2(^>qCS&2%HZmX z_6Gf-7A+8sw6$;?C#o?`)ml_PgFB;-Msg%`k|8S=F4h7Zr%AEFSIcphK@JDwAwM-b zPuQ2n1A3k8Wf%1}xnSjGG7;_e@6^KGfk?cE<0=u`48oTt>J)fzUBwOD)W_s%&k*Ui zM>;}X!7eS{(;A8Td+FHlfMdRVSH(Tt*S(IQ{7}UsJWlpGxP8YHdMX>9BHy6EVC|nl zA}m3sI6@U=v@%+yl5wyx^T;SgBMoHZIYrefzzZ08hL=cE;}QL*v%B4>Edr-lNU;cc zSVU+EHlrAgSc>gfj#iYIeM*o;ycZF?A_N4|9S!svZ>TdzGsX$okfOYyYt_G{`U(Aq z;>mkQyu_&7F!COgrjg%D%`U@8KG_CV(e29U@yf9f6 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt new file mode 100644 index 0000000..dbc5e7a --- /dev/null +++ b/szpitale-graph/target/surefire-reports/com.developx.szpitale.ingest.normalize.PartyNormalizerTest.txt @@ -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 diff --git a/szpitale-graph/target/test-classes/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.class b/szpitale-graph/target/test-classes/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.class new file mode 100644 index 0000000000000000000000000000000000000000..27af10f72cfb1aecff3650eb3672e47a8db9a144 GIT binary patch literal 3607 zcmbW3dv_8?6u|E!X&|_on5y;Fx~)<3P&aC|R(!1qDuOHp8YF$-unftBWfpfADft5Z z5d9SOSnX-g>0j+X{ZKu&63Nm(^sxplngRw+lDpf41Qdp0|1^gek<+PE~)0xr~Xs{fCOA1_o z%LFckXQN?PnWZt&YPgzSt8t4{dEr8*$p~E8BZY4{6qmXAQh}>*jlljY!%#N3U|rsW zV9@%>d2h$!@@m%=_*&j;CS^QM77~SWv2@SKt*n=#5SLQBfob&AVy9v|=5|LOxuw8u zd1NxH=L$)E3hsg)fqM$9!0I~%XvG#aUS+~$Y1wROCX-C87ZbVC{bb50>KXmrVm8FV ziogFRDo!bmn~bN3X14~^t5!@mJW@-Czmcq{|3?_N$%l~?slY2{%Q3=~ux zT34%7bj(eu_>BTNsW^?d&KiYcGLc(dH!^w@3fQnxSreQ!Z4XP^sczeX%2R6!6y+&p z@JITkDme$XlI z?s(;ok7RIoxF)(apk8ZPR)#iMx#?nos(bwB&lNdV2rLb#v_zHFFag!FkPwG?El0S9 z!#B8~2%L17+p=)h&jzMlua$>crY$_mMbG^P^~_D?=35olAIk*h2F63V-fr*M3yd)W z7lzcjon3DCI=g?SI|m4y9@KA%y0F_~N3GlY*zN-zRmQ^IZZoG-<8_>-f?*B3+1uv^ z&&Y}|ciRKi1KmSF8`KcbE4Bklmo$Qtumw|cDU*_p+c5SyKS1&4lzqr<2fbmU+F zHQhr!MVNGpN-9+L#C{fzJ&f2RBe7-(R`tF8A{=`hu_s1it0CAqA3GP0J%w0xB$kC> z&-&Q2;n+FEo*9X)^|6mJbuzsNeds(w)3ftS14%o8Sp`_Y3RuM2S@PjWx`%p+lW(sL z*u>O5Ma|t5@;%Hf`ex3DnbFY9GMc&c9%i=sX8Oha0xtR&LQ7W$F4HaMtJnzF0#TX? zt-yL1_bZ=!Bb<8!x$%))D~x;7=c?h{JIK8|lG_O5-toDKSMVSt4y(vbjO2}JEIM_2|;QkLD#XlJU literal 0 HcmV?d00001