diff options
| author | Michael Williamson <mike@zwobble.org> | 2023-09-23 16:08:46 +0100 |
|---|---|---|
| committer | Michael Williamson <mike@zwobble.org> | 2023-09-23 16:08:46 +0100 |
| commit | 22b8e0b0b04f1320b76804c34785b97081d378c7 (patch) | |
| tree | 96d81e524a8248af751cc8d0e86d4b6b2cf457e1 /src/test/java | |
| parent | 9a61ec7d9a85e396b99f2727f226b680f8159d59 (diff) | |
Extract matcher for silent exit
Diffstat (limited to 'src/test/java')
| -rw-r--r-- | src/test/java/org/shedlang/compiler/patio/PatioExampleTests.java | 21 |
1 files changed, 13 insertions, 8 deletions
diff --git a/src/test/java/org/shedlang/compiler/patio/PatioExampleTests.java b/src/test/java/org/shedlang/compiler/patio/PatioExampleTests.java index 2718e85f..9187ea2c 100644 --- a/src/test/java/org/shedlang/compiler/patio/PatioExampleTests.java +++ b/src/test/java/org/shedlang/compiler/patio/PatioExampleTests.java @@ -1,17 +1,18 @@ package org.shedlang.compiler.patio; import org.junit.jupiter.api.Test; -import org.shedlang.compiler.testing.ExecutionResult; import org.shedlang.compiler.patio.ast.PatioCompilationUnit; import org.shedlang.compiler.patio.ast.PatioFunctionDefinition; import org.shedlang.compiler.patio.ast.types.PatioTypes; import org.shedlang.compiler.patio.instructions.Patio; +import org.shedlang.compiler.testing.ExecutionResult; +import org.zwobble.precisely.Matcher; import java.io.IOException; import java.util.List; import static org.zwobble.precisely.AssertThat.assertThat; -import static org.zwobble.precisely.Matchers.equalTo; +import static org.zwobble.precisely.Matchers.*; public abstract class PatioExampleTests { protected static final String FUNCTION_NAME = "run"; @@ -43,9 +44,7 @@ public abstract class PatioExampleTests { var result = run(patio); - assertThat(result.stderr(), equalTo("")); - assertThat(result.stdout(), equalTo("")); - assertThat(result.exitCode(), equalTo(47)); + assertThat(result, isSilentExit(47)); } @Test @@ -86,9 +85,15 @@ public abstract class PatioExampleTests { var result = run(patio); - assertThat(result.stderr(), equalTo("")); - assertThat(result.stdout(), equalTo("")); - assertThat(result.exitCode(), equalTo(47)); + assertThat(result, isSilentExit(47)); + } + + private Matcher<ExecutionResult> isSilentExit(int exitCode) { + return allOf( + has("stderr", x -> x.stderr(), equalTo("")), + has("stdout", x -> x.stdout(), equalTo("")), + has("exitCode", x -> x.exitCode(), equalTo(exitCode)) + ); } protected abstract ExecutionResult run(PatioCompilationUnit patio) throws IOException, InterruptedException; |
