Fixed calculations concerning U, tests work now just like before
authorChristian Femers <femers@in.tum.de>
Sun, 19 May 2019 20:27:43 +0000 (22:27 +0200)
committerChristian Femers <femers@in.tum.de>
Sun, 19 May 2019 20:27:43 +0000 (22:27 +0200)
era.mi/src/era/mi/logic/tests/ComponentTest.java
era.mi/src/era/mi/logic/wires/WireArray.java

index 81a2e1f..c566b56 100644 (file)
@@ -9,6 +9,7 @@ import org.junit.jupiter.api.Test;
 \r
 import era.mi.logic.Bit;\r
 import era.mi.logic.Simulation;\r
+import era.mi.logic.components.Connector;\r
 import era.mi.logic.components.Demux;\r
 import era.mi.logic.components.Merger;\r
 import era.mi.logic.components.Mux;\r
@@ -21,6 +22,7 @@ import era.mi.logic.components.gates.XorGate;
 import era.mi.logic.wires.WireArray;\r
 import era.mi.logic.wires.WireArray.WireArrayEnd;\r
 \r
+@SuppressWarnings("unused")\r
 class ComponentTest\r
 {\r
 \r
@@ -92,6 +94,7 @@ class ComponentTest
                WireArrayEnd enI = en.createInput(), aI = a.createInput(), bI = b.createInput();\r
                enI.feedSignals(Bit.ONE);\r
                aI.feedSignals(Bit.ONE);\r
+               bI.feedSignals(Bit.Z);\r
 \r
                Simulation.TIMELINE.executeAll();\r
 \r
@@ -292,7 +295,7 @@ class ComponentTest
                assertBitArrayEquals(w.getValues(), Bit.ONE, Bit.Z);\r
        }\r
 \r
-//     @Test\r
+       @Test\r
        void wireConnections()\r
        {\r
                // Nur ein Experiment, was über mehrere 'passive' Bausteine hinweg passieren würde\r
@@ -320,7 +323,7 @@ class ComponentTest
                cI.feedSignals(Bit.Z);\r
                test.assertAfterSimulationIs(print, Bit.Z);\r
 \r
-               new Connector(b, c);\r
+               new Connector(b, c).connect();\r
                test.assertAfterSimulationIs(print, Bit.Z);\r
                System.err.println("ONE");\r
                bI.feedSignals(Bit.ONE);\r
@@ -332,7 +335,7 @@ class ComponentTest
                bI.feedSignals(Bit.Z);\r
                test.assertAfterSimulationIs(print, Bit.Z);\r
 \r
-               new Connector(a, b);\r
+               new Connector(a, b).connect();\r
                System.err.println("Z 2");\r
                aI.feedSignals(Bit.Z);\r
                test.assertAfterSimulationIs(print, Bit.Z);\r
index 39af936..033d1d4 100644 (file)
@@ -61,12 +61,7 @@ public class WireArray
                        Bit[] bits = input.getValues();\r
                        for (int i = 0; i < length; i++)\r
                        {\r
-                               if (Bit.Z.equals(bits[i]) || newValues[i].equals(bits[i]))\r
-                                       continue;\r
-                               else if (Bit.Z.equals(newValues[i]))\r
-                                       newValues[i] = bits[i];\r
-                               else\r
-                                       newValues[i] = Bit.X;\r
+                               newValues[i] = newValues[i].combineWith(bits[i]);\r
                        }\r
                }\r
 \r