1
0
mirror of https://github.com/pcvolkmer/mv64e-onkostar-data.git synced 2025-09-14 00:12:52 +00:00

feat: add display and system to diagnosis data

This commit is contained in:
2025-06-22 12:52:42 +02:00
parent 21739a055d
commit 6a3ee860b7
6 changed files with 192 additions and 15 deletions

View File

@@ -1,8 +1,11 @@
package dev.pcvolkmer.onco.datamapper.mapper;
import dev.pcvolkmer.mv64e.mtb.MtbDiagnosis;
import dev.pcvolkmer.onco.datamapper.PropertyCatalogue;
import dev.pcvolkmer.onco.datamapper.ResultSet;
import dev.pcvolkmer.onco.datamapper.datacatalogues.KpaCatalogue;
import dev.pcvolkmer.onco.datamapper.datacatalogues.TumorausbreitungCatalogue;
import dev.pcvolkmer.onco.datamapper.datacatalogues.TumorgradingCatalogue;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
@@ -21,13 +24,24 @@ import static org.mockito.Mockito.doAnswer;
class KpaDiagnosisDataMapperTest {
KpaCatalogue kpaCatalogue;
TumorausbreitungCatalogue tumorausbreitungCatalogue;
TumorgradingCatalogue tumorgradingCatalogue;
PropertyCatalogue propertyCatalogue;
KpaDiagnosisDataMapper dataMapper;
@BeforeEach
void setUp(@Mock KpaCatalogue kpaCatalogue) {
void setUp(
@Mock KpaCatalogue kpaCatalogue,
@Mock TumorausbreitungCatalogue tumorausbreitungCatalogue,
@Mock TumorgradingCatalogue tumorgradingCatalogue,
@Mock PropertyCatalogue propertyCatalogue
) {
this.kpaCatalogue = kpaCatalogue;
this.dataMapper = new KpaDiagnosisDataMapper(kpaCatalogue);
this.tumorausbreitungCatalogue = tumorausbreitungCatalogue;
this.tumorgradingCatalogue = tumorgradingCatalogue;
this.propertyCatalogue = propertyCatalogue;
this.dataMapper = new KpaDiagnosisDataMapper(kpaCatalogue, tumorausbreitungCatalogue, tumorgradingCatalogue, propertyCatalogue);
}
@Test
@@ -46,6 +60,10 @@ class KpaDiagnosisDataMapperTest {
.when(kpaCatalogue)
.getById(anyInt());
doAnswer(invocationOnMock ->
new PropertyCatalogue.Entry("C00.0", "Bösartige Neubildung: Äußere Oberlippe", "Bösartige Neubildung: Äußere Oberlippe")
).when(propertyCatalogue).getByCodeAndVersion(anyString(), anyInt());
var actual = this.dataMapper.getById(1);
assertThat(actual).isInstanceOf(MtbDiagnosis.class);
assertThat(actual.getId()).isEqualTo("1");

View File

@@ -69,7 +69,12 @@ class KpaTumorausbreitungDataMapperTest {
var actual = actualList.get(0);
assertThat(actual).isInstanceOf(TumorStaging.class);
assertThat(actual.getDate()).isEqualTo(new java.sql.Date(Date.from(Instant.parse("2000-01-01T12:00:00Z")).getTime()));
assertThat(actual.getMethod()).isEqualTo(TumorStagingMethodCoding.builder().code(TumorStagingMethodCodingCode.PATHOLOGIC).build());
assertThat(actual.getMethod()).isEqualTo(
TumorStagingMethodCoding.builder()
.code(TumorStagingMethodCodingCode.PATHOLOGIC)
.system("dnpm-dip/mtb/tumor-staging/method")
.build()
);
assertThat(actual.getOtherClassifications()).hasSize(1);
assertThat(actual.getOtherClassifications().get(0).getCode()).isEqualTo("tumor-free");
assertThat(actual.getTnmClassification().getTumor().getCode()).isEqualTo("p0");