1 package era.mi.logic.tests;
\r
3 import static org.junit.jupiter.api.Assertions.assertArrayEquals;
\r
5 import java.util.Arrays;
\r
6 import java.util.function.LongConsumer;
\r
8 import era.mi.logic.Bit;
\r
9 import era.mi.logic.Simulation;
\r
10 import era.mi.logic.components.BitDisplay;
\r
11 import era.mi.logic.wires.WireArray;
\r
13 public final class TestBitDisplay extends BitDisplay {
\r
15 public TestBitDisplay(WireArray in) {
\r
19 public void assertDisplays(Bit... expected) {
\r
20 assertArrayEquals(expected, getDisplayedValue());
\r
23 public void assertAfterSimulationIs(Bit... expected) {
\r
24 Simulation.TIMELINE.executeAll();
\r
25 assertDisplays(expected);
\r
28 public void assertAfterSimulationIs(LongConsumer r, Bit... expected) {
\r
29 while (Simulation.TIMELINE.hasNext()) {
\r
30 Simulation.TIMELINE.executeNext();
\r
31 r.accept(Simulation.TIMELINE.getSimulationTime());
\r
33 assertDisplays(expected);
\r
37 protected void compute() {
\r
39 System.out.println("update: value is " + Arrays.toString(getDisplayedValue()));
\r