diff options
author | 2023-12-22 02:19:38 +0100 | |
---|---|---|
committer | 2023-12-24 17:32:54 +0100 | |
commit | c65275be9fce0fbba70094c754690a8bd9228ab4 (patch) | |
tree | 8ba97d3668229482f8e25272ebfe62c2d27cca12 /subprojects/language/src/test | |
parent | refactor(language): use file extension provider (diff) | |
download | refinery-c65275be9fce0fbba70094c754690a8bd9228ab4.tar.gz refinery-c65275be9fce0fbba70094c754690a8bd9228ab4.tar.zst refinery-c65275be9fce0fbba70094c754690a8bd9228ab4.zip |
feat: solution serializer
Diffstat (limited to 'subprojects/language/src/test')
-rw-r--r-- | subprojects/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java | 32 |
1 files changed, 11 insertions, 21 deletions
diff --git a/subprojects/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java b/subprojects/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java index 9f4f2bbf..4a3a9ac2 100644 --- a/subprojects/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java +++ b/subprojects/language/src/test/java/tools/refinery/language/tests/serializer/ProblemSerializerTest.java | |||
@@ -74,8 +74,8 @@ class ProblemSerializerTest { | |||
74 | } | 74 | } |
75 | 75 | ||
76 | @ParameterizedTest | 76 | @ParameterizedTest |
77 | @MethodSource | 77 | @MethodSource("assertionTest") |
78 | void defaultAssertionTest(LogicValue value, String valueAsString) { | 78 | void defaultAssertionTest(LogicValue value, String serializedAssertion) { |
79 | var pred = createPred(); | 79 | var pred = createPred(); |
80 | var node = ProblemFactory.eINSTANCE.createNode(); | 80 | var node = ProblemFactory.eINSTANCE.createNode(); |
81 | node.setName("a"); | 81 | node.setName("a"); |
@@ -88,12 +88,7 @@ class ProblemSerializerTest { | |||
88 | pred foo(node p). | 88 | pred foo(node p). |
89 | 89 | ||
90 | indiv a. | 90 | indiv a. |
91 | default foo(a):\040""" + valueAsString + ".\n"); | 91 | default\040""" + serializedAssertion + "\n"); |
92 | } | ||
93 | |||
94 | static Stream<Arguments> defaultAssertionTest() { | ||
95 | return Stream.of(Arguments.of(LogicValue.TRUE, "true"), Arguments.of(LogicValue.FALSE, "false"), | ||
96 | Arguments.of(LogicValue.UNKNOWN, "unknown"), Arguments.of(LogicValue.ERROR, "error")); | ||
97 | } | 92 | } |
98 | 93 | ||
99 | @Test | 94 | @Test |
@@ -233,19 +228,14 @@ class ProblemSerializerTest { | |||
233 | } | 228 | } |
234 | 229 | ||
235 | private void assertSerializedResult(String expected) { | 230 | private void assertSerializedResult(String expected) { |
236 | var outputStream = new ByteArrayOutputStream(); | 231 | String problemString; |
237 | try { | 232 | try (var outputStream = new ByteArrayOutputStream()) { |
238 | resource.save(outputStream, Map.of()); | 233 | resource.save(outputStream, Map.of()); |
239 | } catch (IOException e) { | 234 | problemString = outputStream.toString(); |
240 | throw new AssertionError("Failed to serialize problem", e); | 235 | } catch (IOException e) { |
241 | } finally { | 236 | throw new AssertionError("Failed to serialize problem", e); |
242 | try { | 237 | } |
243 | outputStream.close(); | 238 | // Nothing to handle in a test. |
244 | } catch (IOException e) { | ||
245 | // Nothing to handle in a test. | ||
246 | } | ||
247 | } | ||
248 | var problemString = outputStream.toString(); | ||
249 | 239 | ||
250 | assertThat(problemString.replace("\r\n", "\n"), equalTo(expected.replace("\r\n", "\n"))); | 240 | assertThat(problemString.replace("\r\n", "\n"), equalTo(expected.replace("\r\n", "\n"))); |
251 | } | 241 | } |