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