Exchanged all Bit[] by BitVector, tests work
[Mograsim.git] / era.mi / src / era / mi / logic / components / BitDisplay.java
index 7cf2e36..f11fdf8 100644 (file)
@@ -1,20 +1,22 @@
 package era.mi.logic.components;\r
 \r
-import java.util.Arrays;\r
+import java.util.List;\r
 \r
-import era.mi.logic.Bit;\r
-import era.mi.logic.wires.WireArray;\r
+import era.mi.logic.types.Bit;\r
+import era.mi.logic.types.BitVector;\r
+import era.mi.logic.wires.Wire.WireEnd;\r
 \r
 public class BitDisplay extends BasicComponent\r
 {\r
-       private final WireArray in;\r
-       private Bit[] displayedValue;\r
+       private final WireEnd in;\r
+       private BitVector displayedValue;\r
 \r
-       public BitDisplay(WireArray in)\r
+       public BitDisplay(WireEnd in)\r
        {\r
                super(1);\r
                this.in = in;\r
                in.addObserver(this);\r
+               compute();\r
        }\r
 \r
        @Override\r
@@ -23,13 +25,25 @@ public class BitDisplay extends BasicComponent
                displayedValue = in.getValues();\r
        }\r
 \r
-       public Bit[] getDisplayedValue()\r
+       public BitVector getDisplayedValue()\r
        {\r
                return displayedValue;\r
        }\r
 \r
        public boolean isDisplaying(Bit... values)\r
        {\r
-               return Arrays.equals(displayedValue, values);\r
+               return displayedValue.equals(BitVector.of(values));\r
+       }\r
+\r
+       @Override\r
+       public List<WireEnd> getAllInputs()\r
+       {\r
+               return List.of(in);\r
+       }\r
+\r
+       @Override\r
+       public List<WireEnd> getAllOutputs()\r
+       {\r
+               return List.of();\r
        }\r
 }\r