Added first test structures for Am2904 and Am2910
[Mograsim.git] / net.mograsim.logic.model.am2900 / test / net / mograsim / logic / model / am2900 / TestableCircuit.java
1 package net.mograsim.logic.model.am2900;\r
2 \r
3 import static org.junit.jupiter.api.Assertions.assertEquals;\r
4 \r
5 public interface TestableCircuit\r
6 {\r
7         void setup();\r
8 \r
9         Result run();\r
10 \r
11         void clockOn(boolean isClockOn);\r
12 \r
13         default void assertRunSuccess()\r
14         {\r
15                 assertEquals(Result.SUCCESS, run());\r
16         }\r
17 \r
18         default void assertFullCycleSuccess()\r
19         {\r
20                 assertRunSuccess();\r
21                 clockOn(false);\r
22                 assertRunSuccess();\r
23                 clockOn(true);\r
24                 assertRunSuccess();\r
25         }\r
26 \r
27         public enum Result\r
28         {\r
29                 SUCCESS, OUT_OF_TIME, ERROR;\r
30         }\r
31 }\r