Exchanged all Bit[] by BitVector, tests work
[Mograsim.git] / era.mi / src / era / mi / logic / tests / TestBitDisplay.java
1 package era.mi.logic.tests;\r
2 \r
3 import static org.junit.jupiter.api.Assertions.assertArrayEquals;\r
4 \r
5 import java.util.function.LongConsumer;\r
6 \r
7 import era.mi.logic.Simulation;\r
8 import era.mi.logic.components.BitDisplay;\r
9 import era.mi.logic.types.Bit;\r
10 import era.mi.logic.wires.Wire.WireEnd;\r
11 \r
12 public final class TestBitDisplay extends BitDisplay\r
13 {\r
14 \r
15         public TestBitDisplay(WireEnd in)\r
16         {\r
17                 super(in);\r
18         }\r
19 \r
20         public void assertDisplays(Bit... expected)\r
21         {\r
22                 assertArrayEquals(expected, getDisplayedValue().getBits());\r
23         }\r
24 \r
25         public void assertAfterSimulationIs(Bit... expected)\r
26         {\r
27                 Simulation.TIMELINE.executeAll();\r
28                 assertDisplays(expected);\r
29         }\r
30 \r
31         public void assertAfterSimulationIs(LongConsumer r, Bit... expected)\r
32         {\r
33                 while (Simulation.TIMELINE.hasNext())\r
34                 {\r
35                         Simulation.TIMELINE.executeNext();\r
36                         r.accept(Simulation.TIMELINE.getSimulationTime());\r
37                 }\r
38                 assertDisplays(expected);\r
39         }\r
40 \r
41         @Override\r
42         protected void compute()\r
43         {\r
44                 super.compute();\r
45                 System.out.println("update: value is " + getDisplayedValue());\r
46         }\r
47 }\r