From ce9a1bf1831baf8c06e5e1e93ca4e447f3235a2c Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 21:43:22 +0100 Subject: [PATCH 01/10] Unittest: added Unittest Digitaltechnik2 --- src/digital/technik/DigitalTechnikTest.java | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index b92ab46..29d0e77 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -26,4 +26,24 @@ class DigitalTechnikTest { assertTrue(out.toString().contains("Die Zuordnung muss nicht (eindeutig) umkehrbar sein!")); } + @Test + public void testDigitalTechnik2() { + String input = "1\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik2(); + + assertTrue(out.toString().contains(""" + Hexadezimale Zahlen (R = 16) werden häufig zur kompakten + Darstellung von Binärzahlen verwendet. + Es werden die Ziffern {0, 1, 2, . . . , 9,A,B,C, D,E, F} verwendet + (A bis F repräsentieren die Wertigkeit 10 bis 15) + Jedes Hexadezimale Digit kann mit genau 4 Bit dargestellt + werden""")); + } } \ No newline at end of file From 29cdeb3b18752b728ab03fca0d3e2cbc21f80c01 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 21:51:00 +0100 Subject: [PATCH 02/10] Unittest: added Unittest Digitaltechnik2 --- src/digital/technik/DigitalTechnikTest.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index 29d0e77..c698582 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -46,4 +46,20 @@ class DigitalTechnikTest { Jedes Hexadezimale Digit kann mit genau 4 Bit dargestellt werden""")); } + + @Test + public void testDigitalTechnik3() { + String input = "1\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik3(); + + assertTrue(out.toString().contains("Die kanonische disjunktive Normalform (KDNF) ist eine Darstellung einer boolschen Funktion als Summe der Produkte der Minterme.")); + } + } \ No newline at end of file From 7170e469dbb9bafdcf769c833bbcd3dabe036627 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 21:51:26 +0100 Subject: [PATCH 03/10] Unittest: added Unittest Digitaltechnik3 --- src/digital/technik/DigitalTechnikTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index c698582..aa1e788 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -49,7 +49,7 @@ class DigitalTechnikTest { @Test public void testDigitalTechnik3() { - String input = "1\n"; + String input = "4\n"; ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); System.setIn(in); From 58c74b827efa18e475bda3eb0c7a6d14efc4d3ae Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 21:55:28 +0100 Subject: [PATCH 04/10] Unittest: added Unittest Digitaltechnik4 --- src/digital/technik/DigitalTechnikTest.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index aa1e788..669402d 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -62,4 +62,22 @@ class DigitalTechnikTest { assertTrue(out.toString().contains("Die kanonische disjunktive Normalform (KDNF) ist eine Darstellung einer boolschen Funktion als Summe der Produkte der Minterme.")); } + + @Test + public void testDigitalTechnik4() { + String input = "5\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik4(); + + assertTrue(out.toString().contains("Ein Multiplexer ist ein elektronisches Schaltwerk, das es ermöglicht, mehrere Eingangssignale auf einen einzigen Ausgang zu schalten.")); + } + +} + } \ No newline at end of file From 17f1c4c517546e5d988dcf22c67fde0cfb4ea1f2 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 21:56:13 +0100 Subject: [PATCH 05/10] Refactoring : added digitaltechnik5 --- src/digital/technik/DigitalTechnikTest.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index 669402d..7f99126 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -73,7 +73,7 @@ class DigitalTechnikTest { System.setOut(new PrintStream(out)); DigitalTechnik digitalTechnik = new DigitalTechnik(); - digitalTechnik.digitalTechnik4(); + digitalTechnik.digitalTechnik5(); assertTrue(out.toString().contains("Ein Multiplexer ist ein elektronisches Schaltwerk, das es ermöglicht, mehrere Eingangssignale auf einen einzigen Ausgang zu schalten.")); } From bf26d38443ab07793eeaa19f8e75c54c72c9e84b Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 22:01:31 +0100 Subject: [PATCH 06/10] Unittest: added Unittest Digitaltechnik5 --- src/digital/technik/DigitalTechnikTest.java | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index 7f99126..e5e7676 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -78,6 +78,20 @@ class DigitalTechnikTest { assertTrue(out.toString().contains("Ein Multiplexer ist ein elektronisches Schaltwerk, das es ermöglicht, mehrere Eingangssignale auf einen einzigen Ausgang zu schalten.")); } -} + @Test + public void testDigitalTechnik5() { + String input = "1\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik5(); + + assertTrue(out.toString().contains("Ein KV-Diagramm ist ein Diagramm, in dem die Beziehung zwischen zwei oder mehr Variablen dargestellt wird.")); + } + } \ No newline at end of file From 8b71dc14cf5be9333e9c7ba37aa9b6f987b301ae Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 22:04:18 +0100 Subject: [PATCH 07/10] Unittest: added Unittest Digitaltechnik6 --- src/digital/technik/DigitalTechnikTest.java | 36 ++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index e5e7676..fe0026a 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -93,5 +93,39 @@ class DigitalTechnikTest { assertTrue(out.toString().contains("Ein KV-Diagramm ist ein Diagramm, in dem die Beziehung zwischen zwei oder mehr Variablen dargestellt wird.")); } - + + + @Test + public void testDigitalTechnik6() { + String input = "1\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik6(); + + assertTrue(out.toString().contains("Ein KV-Diagramm ist ein Diagramm, in dem die Beziehung zwischen zwei oder mehr Variablen dargestellt wird.")); + } + + + @Test + public void testDigitalTechnik6() { + String input = "2\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik6(); + + assertTrue(out.toString().contains("In der Digitaltechnik sind Dekoder Schaltungen, die mehrere Eingangssignale in eine bestimmte Anzahl von Ausgangssignalen umwandeln. \n" + + "Sie werden verwendet, um digitale Codes zu interpretieren und bestimmte Aktionen auszuführen.")); + } + + } \ No newline at end of file From caac36fc3b6c5fad6bb80bd9e41754001fc7a4df Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 22:08:16 +0100 Subject: [PATCH 08/10] Unittest: added Unittest Digitaltechnik7 --- src/digital/technik/DigitalTechnikTest.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index fe0026a..c2ec20b 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -127,5 +127,18 @@ class DigitalTechnikTest { "Sie werden verwendet, um digitale Codes zu interpretieren und bestimmte Aktionen auszuführen.")); } + public void testDigitalTechnik7() { + String input = "1\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik7(); + + assertTrue(out.toString().contains("In der Digitaltechnik ist eine ALU (Arithmetisch-Logische Einheit) ein Baustein in einem Prozessor, der die grundlegenden arithmetischen und logischen Operationen ausführt. \n" + + "Dazu gehören Operationen wie Addition, Subtraktion, Multiplikation, Division, Vergleich, Schaltungen und Bitverschiebungen.")); + } } \ No newline at end of file From 59f55e4436eda89411a9ee3c1efc41c35af477e3 Mon Sep 17 00:00:00 2001 From: fdai7487 Date: Fri, 10 Feb 2023 22:10:22 +0100 Subject: [PATCH 09/10] Unittest: added Unittest Digitaltechnik8 --- src/digital/technik/DigitalTechnikTest.java | 31 +++++++++++++++++---- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index c2ec20b..114a0bd 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -26,6 +26,7 @@ class DigitalTechnikTest { assertTrue(out.toString().contains("Die Zuordnung muss nicht (eindeutig) umkehrbar sein!")); } + @Test public void testDigitalTechnik2() { String input = "1\n"; @@ -39,12 +40,12 @@ class DigitalTechnikTest { digitalTechnik.digitalTechnik2(); assertTrue(out.toString().contains(""" - Hexadezimale Zahlen (R = 16) werden häufig zur kompakten - Darstellung von Binärzahlen verwendet. - Es werden die Ziffern {0, 1, 2, . . . , 9,A,B,C, D,E, F} verwendet - (A bis F repräsentieren die Wertigkeit 10 bis 15) - Jedes Hexadezimale Digit kann mit genau 4 Bit dargestellt - werden""")); + Hexadezimale Zahlen (R = 16) werden häufig zur kompakten + Darstellung von Binärzahlen verwendet. + Es werden die Ziffern {0, 1, 2, . . . , 9,A,B,C, D,E, F} verwendet + (A bis F repräsentieren die Wertigkeit 10 bis 15) + Jedes Hexadezimale Digit kann mit genau 4 Bit dargestellt + werden""")); } @Test @@ -141,4 +142,22 @@ class DigitalTechnikTest { assertTrue(out.toString().contains("In der Digitaltechnik ist eine ALU (Arithmetisch-Logische Einheit) ein Baustein in einem Prozessor, der die grundlegenden arithmetischen und logischen Operationen ausführt. \n" + "Dazu gehören Operationen wie Addition, Subtraktion, Multiplikation, Division, Vergleich, Schaltungen und Bitverschiebungen.")); } + + @Test + public void testDigitalTechnik8() { + String input = "1\n"; + ByteArrayInputStream in = new ByteArrayInputStream(input.getBytes()); + System.setIn(in); + + ByteArrayOutputStream out = new ByteArrayOutputStream(); + System.setOut(new PrintStream(out)); + + DigitalTechnik digitalTechnik = new DigitalTechnik(); + digitalTechnik.digitalTechnik8(); + + assertTrue(out.toString().contains(""" + Ein JK-Flipflop ist eine Art von Flipflop, das auf eine Kombination von Eingangssignalen J und K reagiert. Es hat zwei Eingänge (J und K) und einen Ausgang (Q).\s + Der Ausgang wird auf den Wert von J gesetzt, wenn K auf logisch 0 steht und auf den Wert von K gesetzt, wenn J auf logisch 0 steht.\s + Wenn beide J und K auf logisch 1 stehen, wird der Ausgang invertiert.""")); + } } \ No newline at end of file From 7cefd45da716aa4a588f3247a1605670cf5f4f3d Mon Sep 17 00:00:00 2001 From: pc Date: Fri, 10 Feb 2023 22:17:30 +0100 Subject: [PATCH 10/10] "package path" --- src/digital/technik/DigitalTechnik.java | 2 +- src/digital/technik/DigitalTechnikTest.java | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/digital/technik/DigitalTechnik.java b/src/digital/technik/DigitalTechnik.java index ba078f3..3a73653 100644 --- a/src/digital/technik/DigitalTechnik.java +++ b/src/digital/technik/DigitalTechnik.java @@ -1,4 +1,4 @@ -package digital.technik; +package src.digital.technik; import java.util.Scanner; diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index 114a0bd..e65730c 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -1,4 +1,4 @@ -package digital.technik; +package src.digital.technik; import org.junit.jupiter.api.Test;