X-Git-Url: https://mograsim.net/gitweb/?a=blobdiff_plain;f=net.mograsim.logic.model.am2900%2Ftest%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Futil%2FDisplayStateOnFailure.java;fp=net.mograsim.logic.model.am2900%2Ftest%2Fnet%2Fmograsim%2Flogic%2Fmodel%2Fam2900%2Futil%2FDisplayStateOnFailure.java;h=3f68c67e0aa58e56e2fa846dd3c72e9ff7b4678f;hb=6d28e5c93c9347784950ca66fb6d1b3a14461ece;hp=0000000000000000000000000000000000000000;hpb=9b34381259d5e6cb46bd3834712311cd60317506;p=Mograsim.git diff --git a/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/util/DisplayStateOnFailure.java b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/util/DisplayStateOnFailure.java new file mode 100644 index 00000000..3f68c67e --- /dev/null +++ b/net.mograsim.logic.model.am2900/test/net/mograsim/logic/model/am2900/util/DisplayStateOnFailure.java @@ -0,0 +1,30 @@ +package net.mograsim.logic.model.am2900.util; + +import java.util.Objects; + +import org.junit.jupiter.api.extension.AfterTestExecutionCallback; +import org.junit.jupiter.api.extension.ExtensionContext; + +import net.mograsim.logic.model.am2900.TestableCircuit; + +public class DisplayStateOnFailure implements AfterTestExecutionCallback +{ + public static final boolean ACTIVE = true; + + private final TestableCircuit circuitUnderTest; + + public DisplayStateOnFailure(TestableCircuit circuitUnderTest) + { + this.circuitUnderTest = Objects.requireNonNull(circuitUnderTest); + } + + @Override + public void afterTestExecution(ExtensionContext context) throws Exception + { + if (ACTIVE && context.getExecutionException().isPresent()) + { + context.getExecutionException().get().printStackTrace(); + circuitUnderTest.displayState(); + } + } +}