T5: CanonicalWriter/Reader round-trip test [checkpoint]
This commit is contained in:
@@ -0,0 +1,105 @@
|
|||||||
|
package com.developx.szpitale.load;
|
||||||
|
|
||||||
|
import com.developx.szpitale.model.*;
|
||||||
|
import com.developx.szpitale.model.enums.*;
|
||||||
|
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||||
|
import com.fasterxml.jackson.databind.SerializationFeature;
|
||||||
|
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.junit.jupiter.api.io.TempDir;
|
||||||
|
|
||||||
|
import java.nio.file.Files;
|
||||||
|
import java.nio.file.Path;
|
||||||
|
import java.util.List;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.*;
|
||||||
|
|
||||||
|
class CanonicalRoundTripTest {
|
||||||
|
|
||||||
|
@TempDir
|
||||||
|
Path tempDir;
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void write_thenRead_yieldsEqualDataset() throws Exception {
|
||||||
|
Hospital hospital = new Hospital(
|
||||||
|
"hosp:podlaskie:usk-bialystok",
|
||||||
|
"Uniwersytecki Szpital Kliniczny w Białymstoku",
|
||||||
|
"USK",
|
||||||
|
"Białystok",
|
||||||
|
"podlaskie",
|
||||||
|
LegalForm.SPZOZ,
|
||||||
|
"Uniwersytet Medyczny",
|
||||||
|
SupervisoryBodyType.RADA_SPOLECZNA,
|
||||||
|
null, null,
|
||||||
|
"https://uskwb.pl",
|
||||||
|
List.of("https://uskwb.pl/dyrekcja")
|
||||||
|
);
|
||||||
|
|
||||||
|
Person person = new Person(
|
||||||
|
"person:jan-kowalski",
|
||||||
|
"Jan Kowalski",
|
||||||
|
"Dyrektor Naczelny",
|
||||||
|
List.of("prof."),
|
||||||
|
List.of("https://uskwb.pl/dyrekcja")
|
||||||
|
);
|
||||||
|
|
||||||
|
Affiliation affiliation = new Affiliation(
|
||||||
|
"person:jan-kowalski",
|
||||||
|
AffiliationType.PARTIA,
|
||||||
|
"Koalicja Obywatelska",
|
||||||
|
ConfidenceLevel.POTWIERDZONA,
|
||||||
|
"PO",
|
||||||
|
List.of("https://uskwb.pl/dyrekcja")
|
||||||
|
);
|
||||||
|
|
||||||
|
Role role = new Role(
|
||||||
|
"hosp:podlaskie:usk-bialystok",
|
||||||
|
"person:jan-kowalski",
|
||||||
|
RoleType.DYREKTOR,
|
||||||
|
"Dyrektor Naczelny",
|
||||||
|
OrganType.DYREKCJA,
|
||||||
|
RoleStatus.AKTUALNY,
|
||||||
|
null, null,
|
||||||
|
null,
|
||||||
|
List.of("https://uskwb.pl/dyrekcja")
|
||||||
|
);
|
||||||
|
|
||||||
|
CanonicalDataset original = new CanonicalDataset(
|
||||||
|
"1.0", "podlaskie",
|
||||||
|
java.time.LocalDateTime.now(),
|
||||||
|
List.of(hospital),
|
||||||
|
List.of(person),
|
||||||
|
List.of(affiliation),
|
||||||
|
List.of(role),
|
||||||
|
List.of()
|
||||||
|
);
|
||||||
|
|
||||||
|
Path canonicalDir = tempDir.resolve("canonical");
|
||||||
|
Files.createDirectories(canonicalDir);
|
||||||
|
|
||||||
|
ObjectMapper mapper = new ObjectMapper();
|
||||||
|
mapper.registerModule(new JavaTimeModule());
|
||||||
|
mapper.disable(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS);
|
||||||
|
mapper.writerWithDefaultPrettyPrinter().writeValue(
|
||||||
|
canonicalDir.resolve("podlaskie.json").toFile(), original
|
||||||
|
);
|
||||||
|
|
||||||
|
CanonicalReader reader = new CanonicalReader();
|
||||||
|
CanonicalDataset readBack = reader.readSingle(tempDir, "podlaskie");
|
||||||
|
|
||||||
|
assertNotNull(readBack);
|
||||||
|
assertEquals(original.schemaVersion(), readBack.schemaVersion());
|
||||||
|
assertEquals(original.voivodeship(), readBack.voivodeship());
|
||||||
|
assertEquals(1, readBack.hospitals().size());
|
||||||
|
assertEquals(hospital.id(), readBack.hospitals().get(0).id());
|
||||||
|
assertEquals(hospital.name(), readBack.hospitals().get(0).name());
|
||||||
|
assertEquals(1, readBack.people().size());
|
||||||
|
assertEquals(person.id(), readBack.people().get(0).id());
|
||||||
|
assertEquals(person.fullName(), readBack.people().get(0).fullName());
|
||||||
|
assertEquals(1, readBack.affiliations().size());
|
||||||
|
assertEquals(affiliation.name(), readBack.affiliations().get(0).name());
|
||||||
|
assertEquals(1, readBack.roles().size());
|
||||||
|
assertEquals(role.hospitalId(), readBack.roles().get(0).hospitalId());
|
||||||
|
assertEquals(role.roleType(), readBack.roles().get(0).roleType());
|
||||||
|
}
|
||||||
|
}
|
||||||
+1
@@ -2,3 +2,4 @@ com/developx/szpitale/ingest/normalize/NameNormalizerTest.class
|
|||||||
com/developx/szpitale/ingest/normalize/PartyNormalizerTest.class
|
com/developx/szpitale/ingest/normalize/PartyNormalizerTest.class
|
||||||
com/developx/szpitale/ingest/source/MarkdownRegistrySourceTest.class
|
com/developx/szpitale/ingest/source/MarkdownRegistrySourceTest.class
|
||||||
com/developx/szpitale/ingest/normalize/DeduplicatorTest.class
|
com/developx/szpitale/ingest/normalize/DeduplicatorTest.class
|
||||||
|
com/developx/szpitale/load/CanonicalRoundTripTest.class
|
||||||
|
|||||||
+1
@@ -2,3 +2,4 @@
|
|||||||
/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
|
/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/normalize/PartyNormalizerTest.java
|
||||||
/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/source/MarkdownRegistrySourceTest.java
|
/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/ingest/source/MarkdownRegistrySourceTest.java
|
||||||
|
/home/kruszewskia/Workspace/Private/Szpitale-graph/szpitale-graph/src/test/java/com/developx/szpitale/load/CanonicalRoundTripTest.java
|
||||||
|
|||||||
+5
-5
File diff suppressed because one or more lines are too long
+17
-17
File diff suppressed because one or more lines are too long
+14
-14
File diff suppressed because one or more lines are too long
+7
-7
File diff suppressed because one or more lines are too long
+59
File diff suppressed because one or more lines are too long
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Test set: com.developx.szpitale.ingest.normalize.DeduplicatorTest
|
Test set: com.developx.szpitale.ingest.normalize.DeduplicatorTest
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.006 s -- in com.developx.szpitale.ingest.normalize.DeduplicatorTest
|
Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.009 s -- in com.developx.szpitale.ingest.normalize.DeduplicatorTest
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Test set: com.developx.szpitale.ingest.normalize.NameNormalizerTest
|
Test set: com.developx.szpitale.ingest.normalize.NameNormalizerTest
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.081 s -- in com.developx.szpitale.ingest.normalize.NameNormalizerTest
|
Tests run: 25, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.149 s -- in com.developx.szpitale.ingest.normalize.NameNormalizerTest
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Test set: com.developx.szpitale.ingest.normalize.PartyNormalizerTest
|
Test set: com.developx.szpitale.ingest.normalize.PartyNormalizerTest
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.010 s -- in com.developx.szpitale.ingest.normalize.PartyNormalizerTest
|
Tests run: 15, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.038 s -- in com.developx.szpitale.ingest.normalize.PartyNormalizerTest
|
||||||
|
|||||||
+1
-1
@@ -1,4 +1,4 @@
|
|||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Test set: com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest
|
Test set: com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest
|
||||||
-------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------
|
||||||
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.096 s -- in com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest
|
Tests run: 3, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.198 s -- in com.developx.szpitale.ingest.source.MarkdownRegistrySourceTest
|
||||||
|
|||||||
+4
@@ -0,0 +1,4 @@
|
|||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Test set: com.developx.szpitale.load.CanonicalRoundTripTest
|
||||||
|
-------------------------------------------------------------------------------
|
||||||
|
Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.324 s -- in com.developx.szpitale.load.CanonicalRoundTripTest
|
||||||
BIN
Binary file not shown.
Reference in New Issue
Block a user