-package net.mograsim.logic.model.am2900;
-
-import static org.junit.jupiter.api.Assertions.assertEquals;
-
-import net.mograsim.logic.model.am2900.util.TestEnvironmentHelper;
-
-public interface TestableCircuit
-{
- void setup();
-
- Result run();
-
- void clockOn(boolean isClockOn);
-
- TestEnvironmentHelper getTestEnvironmentHelper();
-
- default void assertRunSuccess()
- {
- assertEquals(Result.SUCCESS, run());
- }
-
- default void assertFullCycleSuccess()
- {
- assertRunSuccess();
- clockOn(false);
- assertRunSuccess();
- clockOn(true);
- assertRunSuccess();
- }
-
- default void displayState()
- {
- getTestEnvironmentHelper().displayState();
- }
-
- public enum Result
- {
- SUCCESS, OUT_OF_TIME, ERROR;
- }
-}