diff --git a/src/digital/technik/DigitalTechnikTest.java b/src/digital/technik/DigitalTechnikTest.java index 220233a..e65730c 100644 --- a/src/digital/technik/DigitalTechnikTest.java +++ b/src/digital/technik/DigitalTechnikTest.java @@ -26,4 +26,138 @@ 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""")); + } + + @Test + public void testDigitalTechnik3() { + String input = "4\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.")); + } + + + @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.digitalTechnik5(); + + 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.")); + } + + + @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.")); + } + + 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.")); + } + + @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