From c45dc8f5df1c9ce5c2ed200ec4a4a368db9861ef Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 9 May 2023 08:50:47 +0200 Subject: Issue #28: Verwende erforderliche Informationen ohne Zusammenfassung --- src/test/java/DNPM/dto/VariantTest.java | 103 ++++++++++++++++++++++++++++++++ 1 file changed, 103 insertions(+) create mode 100644 src/test/java/DNPM/dto/VariantTest.java (limited to 'src/test/java') diff --git a/src/test/java/DNPM/dto/VariantTest.java b/src/test/java/DNPM/dto/VariantTest.java new file mode 100644 index 0000000..4a29ba1 --- /dev/null +++ b/src/test/java/DNPM/dto/VariantTest.java @@ -0,0 +1,103 @@ +package DNPM.dto; + +import de.itc.onkostar.api.Item; +import de.itc.onkostar.api.Procedure; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class VariantTest { + + @Test + void testShouldMapVariantFromProcedureForSimpleVariant() { + var procedure = new Procedure(null); + procedure.setId(12345); + procedure.setFormName("OS.Molekulargenetische Untersuchung"); + + procedure.setValue("Ergebnis", new Item("Ergebnis", "P")); + procedure.setValue("Untersucht", new Item("Untersucht", "BRAF")); + procedure.setValue("ExonInt", new Item("ExonInt", 123)); + procedure.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2")); + + var actual = Variant.fromProcedure(procedure); + + assertThat(actual).isPresent(); + assertThat(actual.get().getId()).isEqualTo(12345); + assertThat(actual.get().getErgebnis()).isEqualTo("Einfache Variante"); + assertThat(actual.get().getGen()).isEqualTo("BRAF"); + assertThat(actual.get().getExon()).isEqualTo("123"); + assertThat(actual.get().getPathogenitaetsklasse()).isEqualTo("2"); + } + + @Test + void testShouldMapVariantFromProcedureForCopyNumberVariation() { + var procedure = new Procedure(null); + procedure.setId(12345); + procedure.setFormName("OS.Molekulargenetische Untersuchung"); + + procedure.setValue("Ergebnis", new Item("Ergebnis", "CNV")); + procedure.setValue("Untersucht", new Item("Untersucht", "BRAF")); + procedure.setValue("ExonInt", new Item("ExonInt", 123)); + procedure.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2")); + + var actual = Variant.fromProcedure(procedure); + + assertThat(actual).isPresent(); + assertThat(actual.get().getId()).isEqualTo(12345); + assertThat(actual.get().getErgebnis()).isEqualTo("Copy Number Variation"); + assertThat(actual.get().getGen()).isEqualTo("BRAF"); + assertThat(actual.get().getExon()).isEqualTo("123"); + assertThat(actual.get().getPathogenitaetsklasse()).isEqualTo("2"); + } + + @Test + void testShouldMapVariantFromProcedureForFusion() { + var procedure = new Procedure(null); + procedure.setId(12345); + procedure.setFormName("OS.Molekulargenetische Untersuchung"); + + procedure.setValue("Ergebnis", new Item("Ergebnis", "F")); + procedure.setValue("Untersucht", new Item("Untersucht", "BRAF")); + procedure.setValue("ExonInt", new Item("ExonInt", 123)); + procedure.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2")); + + var actual = Variant.fromProcedure(procedure); + + assertThat(actual).isPresent(); + assertThat(actual.get().getId()).isEqualTo(12345); + assertThat(actual.get().getErgebnis()).isEqualTo("Fusion"); + assertThat(actual.get().getGen()).isEqualTo("BRAF"); + assertThat(actual.get().getExon()).isEqualTo("123"); + assertThat(actual.get().getPathogenitaetsklasse()).isEqualTo("2"); + } + + @Test + void testShouldNotMapVariantFromProcedureForUnknownVariant() { + var procedure = new Procedure(null); + procedure.setId(12345); + procedure.setFormName("OS.Molekulargenetische Untersuchung"); + + procedure.setValue("Ergebnis", new Item("Ergebnis", "X")); + procedure.setValue("Untersucht", new Item("Untersucht", "BRAF")); + procedure.setValue("ExonInt", new Item("ExonInt", 123)); + procedure.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2")); + + var actual = Variant.fromProcedure(procedure); + + assertThat(actual).isEmpty(); + } + + @Test + void testShouldNotMapVariantFromUnknownProcedureForm() { + var procedure = new Procedure(null); + procedure.setId(12345); + procedure.setFormName("ABC.Irgendwas"); + + procedure.setValue("Testfeld", new Item("Testfeld", "T")); + + var actual = Variant.fromProcedure(procedure); + + assertThat(actual).isEmpty(); + } + +} -- cgit v1.2.3 From de50c50eb44042e85d68270526756f50711b9974 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 9 May 2023 09:20:27 +0200 Subject: Issue #28: Tests zur Ermittlung von Varianten aus "OS.Molekulargenetik" hinzugefügt --- .../analyzer/EinzelempfehlungAnalyzerTest.java | 46 ++++++++++++++++++++ .../OsMolekluargenetikFormServiceTest.java | 49 ++++++++++++++++++++++ 2 files changed, 95 insertions(+) create mode 100644 src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java create mode 100644 src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java (limited to 'src/test/java') diff --git a/src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java b/src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java new file mode 100644 index 0000000..337ffdb --- /dev/null +++ b/src/test/java/DNPM/analyzer/EinzelempfehlungAnalyzerTest.java @@ -0,0 +1,46 @@ +package DNPM.analyzer; + +import DNPM.security.DelegatingDataBasedPermissionEvaluator; +import DNPM.services.molekulargenetik.MolekulargenetikFormService; +import de.itc.onkostar.api.IOnkostarApi; +import de.itc.onkostar.api.Procedure; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.junit.jupiter.api.extension.ExtendWith; +import org.mockito.Mock; +import org.mockito.junit.jupiter.MockitoExtension; + +import java.util.Map; + +import static org.mockito.ArgumentMatchers.any; +import static org.mockito.Mockito.*; + +@ExtendWith(MockitoExtension.class) +class EinzelempfehlungAnalyzerTest { + + private IOnkostarApi onkostarApi; + + private MolekulargenetikFormService molekulargenetikFormService; + + private EinzelempfehlungAnalyzer analyzer; + + @BeforeEach + void setup( + @Mock IOnkostarApi onkostarApi, + @Mock MolekulargenetikFormService molekulargenetikFormService, + @Mock DelegatingDataBasedPermissionEvaluator permissionEvaluator + ) { + this.onkostarApi = onkostarApi; + this.molekulargenetikFormService = molekulargenetikFormService; + this.analyzer = new EinzelempfehlungAnalyzer(onkostarApi, molekulargenetikFormService, permissionEvaluator); + } + + @Test + void testShouldRequestVariantsFromMolekulargenetikFormService() { + doAnswer(invocationOnMock -> new Procedure(this.onkostarApi)).when(onkostarApi).getProcedure(anyInt()); + + analyzer.getVariants(Map.of("id", 123)); + verify(molekulargenetikFormService, times(1)).getVariants(any(Procedure.class)); + } + +} diff --git a/src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java b/src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java new file mode 100644 index 0000000..4e11341 --- /dev/null +++ b/src/test/java/DNPM/services/molekulargenetik/OsMolekluargenetikFormServiceTest.java @@ -0,0 +1,49 @@ +package DNPM.services.molekulargenetik; + +import de.itc.onkostar.api.Item; +import de.itc.onkostar.api.Procedure; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +public class OsMolekluargenetikFormServiceTest { + + private OsMolekulargenetikFormService service; + + @BeforeEach + void setup() { + this.service = new OsMolekulargenetikFormService(); + } + + @Test + void testShouldReturnVariants() { + + var procedure = new Procedure(null); + procedure.setId(123); + procedure.setFormName("OS.Molekulargenetik"); + + var subProcedure1 = new Procedure(null); + subProcedure1.setId(1123); + subProcedure1.setFormName("OS.Molekulargenetische Untersuchung"); + subProcedure1.setValue("Ergebnis", new Item("Ergebnis", "P")); + subProcedure1.setValue("Untersucht", new Item("Untersucht", "BRAF")); + subProcedure1.setValue("ExonInt", new Item("ExonInt", 123)); + subProcedure1.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2")); + procedure.addSubProcedure("MolekulargenetischeUntersuchung", subProcedure1); + + var subProcedure2 = new Procedure(null); + subProcedure2.setId(2123); + subProcedure2.setFormName("OS.Molekulargenetische Untersuchung"); + subProcedure2.setValue("Ergebnis", new Item("Ergebnis", "CNV")); + subProcedure2.setValue("Untersucht", new Item("Untersucht", "BRAF")); + subProcedure2.setValue("ExonInt", new Item("ExonInt", 123)); + subProcedure2.setValue("Pathogenitaetsklasse", new Item("Pathogenitaetsklasse", "2")); + procedure.addSubProcedure("MolekulargenetischeUntersuchung", subProcedure2); + + var actual = service.getVariants(procedure); + + assertThat(actual).hasSize(2); + } + +} -- cgit v1.2.3 From 2da02d1cf3cbb5d18597e18c2914fc2abe618121 Mon Sep 17 00:00:00 2001 From: Paul-Christian Volkmer Date: Tue, 9 May 2023 14:08:33 +0200 Subject: Issue #28: Erweitere Text für Ergebnis, Exon und Pathogenitätsklasse closes #28 --- src/test/java/DNPM/dto/VariantTest.java | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/test/java') diff --git a/src/test/java/DNPM/dto/VariantTest.java b/src/test/java/DNPM/dto/VariantTest.java index 4a29ba1..3242852 100644 --- a/src/test/java/DNPM/dto/VariantTest.java +++ b/src/test/java/DNPM/dto/VariantTest.java @@ -23,7 +23,7 @@ public class VariantTest { assertThat(actual).isPresent(); assertThat(actual.get().getId()).isEqualTo(12345); - assertThat(actual.get().getErgebnis()).isEqualTo("Einfache Variante"); + assertThat(actual.get().getErgebnis()).isEqualTo("Einfache Variante (Mutation)"); assertThat(actual.get().getGen()).isEqualTo("BRAF"); assertThat(actual.get().getExon()).isEqualTo("123"); assertThat(actual.get().getPathogenitaetsklasse()).isEqualTo("2"); @@ -44,7 +44,7 @@ public class VariantTest { assertThat(actual).isPresent(); assertThat(actual.get().getId()).isEqualTo(12345); - assertThat(actual.get().getErgebnis()).isEqualTo("Copy Number Variation"); + assertThat(actual.get().getErgebnis()).isEqualTo("Copy Number Variation (CNV)"); assertThat(actual.get().getGen()).isEqualTo("BRAF"); assertThat(actual.get().getExon()).isEqualTo("123"); assertThat(actual.get().getPathogenitaetsklasse()).isEqualTo("2"); @@ -65,7 +65,7 @@ public class VariantTest { assertThat(actual).isPresent(); assertThat(actual.get().getId()).isEqualTo(12345); - assertThat(actual.get().getErgebnis()).isEqualTo("Fusion"); + assertThat(actual.get().getErgebnis()).isEqualTo("Fusion (Translokation Inversion Insertion)"); assertThat(actual.get().getGen()).isEqualTo("BRAF"); assertThat(actual.get().getExon()).isEqualTo("123"); assertThat(actual.get().getPathogenitaetsklasse()).isEqualTo("2"); -- cgit v1.2.3