- @Disabled("Braucht den Connector noch irgendjemand?")
- @Test
- void wireConnections()
- {
- // Nur ein Experiment, was über mehrere 'passive' Bausteine hinweg passieren würde
-
- Wire a = new Wire(t, 1, 2);
- Wire b = new Wire(t, 1, 2);
- Wire c = new Wire(t, 1, 2);
- ReadWriteEnd aI = a.createReadWriteEnd();
- ReadWriteEnd bI = b.createReadWriteEnd();
- ReadWriteEnd cI = c.createReadWriteEnd();
-
- TestBitDisplay test = new TestBitDisplay(t, c.createReadOnlyEnd());
- TestBitDisplay test2 = new TestBitDisplay(t, a.createReadOnlyEnd());
- LongConsumer print = time -> System.out.format("Time %2d\n a: %s\n b: %s\n c: %s\n", time, a, b, c);
-
- cI.feedSignals(Bit.ONE);
- test.assertAfterSimulationIs(print, Bit.ONE);
-
- cI.feedSignals(Bit.X);
- test.assertAfterSimulationIs(print, Bit.X);
-
- cI.feedSignals(Bit.X);
- cI.feedSignals(Bit.Z);
- test.assertAfterSimulationIs(print, Bit.Z);
-
- new Connector(t, b.createReadWriteEnd(), c.createReadWriteEnd()).connect();
- test.assertAfterSimulationIs(print, Bit.Z);
- System.err.println("ONE");
- bI.feedSignals(Bit.ONE);
- test.assertAfterSimulationIs(print, Bit.ONE);
- System.err.println("ZERO");
- bI.feedSignals(Bit.ZERO);
- test.assertAfterSimulationIs(print, Bit.ZERO);
- System.err.println("Z");
- bI.feedSignals(Bit.Z);
- test.assertAfterSimulationIs(print, Bit.Z);
-
- new Connector(t, a.createReadWriteEnd(), b.createReadWriteEnd()).connect();
- System.err.println("Z 2");
- aI.feedSignals(Bit.Z);
- test.assertAfterSimulationIs(print, Bit.Z);
- test2.assertAfterSimulationIs(Bit.Z);
- System.err.println("ONE 2");
- aI.feedSignals(Bit.ONE);
- test.assertAfterSimulationIs(print, Bit.ONE);
- test2.assertAfterSimulationIs(Bit.ONE);
- System.err.println("ZERO 2");
- aI.feedSignals(Bit.ZERO);
- test.assertAfterSimulationIs(print, Bit.ZERO);
- test2.assertAfterSimulationIs(Bit.ZERO);
- System.err.println("Z 2 II");
- aI.feedSignals(Bit.Z);
- test.assertAfterSimulationIs(print, Bit.Z);
- test2.assertAfterSimulationIs(Bit.Z);
-
- System.err.println("No Conflict yet");
- bI.feedSignals(Bit.ONE);
- test.assertAfterSimulationIs(print, Bit.ONE);
- test2.assertAfterSimulationIs(Bit.ONE);
- aI.feedSignals(Bit.ONE);
- test.assertAfterSimulationIs(print, Bit.ONE);
- test2.assertAfterSimulationIs(Bit.ONE);
- System.err.println("Conflict");
- aI.feedSignals(Bit.ZERO);
- test.assertAfterSimulationIs(print, Bit.X);
- test2.assertAfterSimulationIs(Bit.X);
- aI.feedSignals(Bit.ONE);
- test.assertAfterSimulationIs(print, Bit.ONE);
- test2.assertAfterSimulationIs(Bit.ONE);
- }
-