diff options
author | 2023-06-25 22:15:32 +0200 | |
---|---|---|
committer | 2023-06-29 02:23:01 +0200 | |
commit | f4408d1ec923fdf76e5755f1a7b0881ede3a4c12 (patch) | |
tree | 181a7775f405a3526cba308ccf965c8a12810b6c /subprojects/store-query/src/test/java | |
parent | refactor: query equality and hash code (diff) | |
download | refinery-f4408d1ec923fdf76e5755f1a7b0881ede3a4c12.tar.gz refinery-f4408d1ec923fdf76e5755f1a7b0881ede3a4c12.tar.zst refinery-f4408d1ec923fdf76e5755f1a7b0881ede3a4c12.zip |
feat: remove contradictory calls in Dnf builder
Diffstat (limited to 'subprojects/store-query/src/test/java')
-rw-r--r-- | subprojects/store-query/src/test/java/tools/refinery/store/query/dnf/DnfBuilderLiteralEliminationTest.java | 49 |
1 files changed, 49 insertions, 0 deletions
diff --git a/subprojects/store-query/src/test/java/tools/refinery/store/query/dnf/DnfBuilderLiteralEliminationTest.java b/subprojects/store-query/src/test/java/tools/refinery/store/query/dnf/DnfBuilderLiteralEliminationTest.java index 9d9bf3c0..6a2dc0c7 100644 --- a/subprojects/store-query/src/test/java/tools/refinery/store/query/dnf/DnfBuilderLiteralEliminationTest.java +++ b/subprojects/store-query/src/test/java/tools/refinery/store/query/dnf/DnfBuilderLiteralEliminationTest.java | |||
@@ -207,4 +207,53 @@ class DnfBuilderLiteralEliminationTest { | |||
207 | 207 | ||
208 | assertThat(actual, structurallyEqualTo(expected)); | 208 | assertThat(actual, structurallyEqualTo(expected)); |
209 | } | 209 | } |
210 | |||
211 | @Test | ||
212 | void removeContradictoryTest() { | ||
213 | var actual = Dnf.of(builder -> builder.clause((p, q) -> List.of( | ||
214 | friendView.call(p, q), | ||
215 | not(friendView.call(p, q)) | ||
216 | ))); | ||
217 | var expected = Dnf.builder().build(); | ||
218 | |||
219 | assertThat(actual, structurallyEqualTo(expected)); | ||
220 | } | ||
221 | |||
222 | @Test | ||
223 | void removeContradictoryUniversalTest() { | ||
224 | var actual = Dnf.of(builder -> builder.clause((p, q) -> List.of( | ||
225 | friendView.call(q, q), | ||
226 | friendView.call(p, q), | ||
227 | not(friendView.call(p, Variable.of())) | ||
228 | ))); | ||
229 | var expected = Dnf.builder().build(); | ||
230 | |||
231 | assertThat(actual, structurallyEqualTo(expected)); | ||
232 | } | ||
233 | |||
234 | @Test | ||
235 | void removeContradictoryExistentialUniversalTest() { | ||
236 | var actual = Dnf.of(builder -> builder.clause((p) -> List.of( | ||
237 | friendView.call(p, Variable.of()), | ||
238 | not(friendView.call(p, Variable.of())) | ||
239 | ))); | ||
240 | var expected = Dnf.builder().build(); | ||
241 | |||
242 | assertThat(actual, structurallyEqualTo(expected)); | ||
243 | } | ||
244 | |||
245 | @Test | ||
246 | void removeContradictoryUniversalParameterTest() { | ||
247 | var actual = Dnf.of(builder -> { | ||
248 | var p = builder.parameter("p"); | ||
249 | builder.clause((q) -> List.of( | ||
250 | friendView.call(q, q), | ||
251 | friendView.call(p, q), | ||
252 | not(friendView.call(p, Variable.of())) | ||
253 | )); | ||
254 | }); | ||
255 | var expected = Dnf.builder().parameter(p).build(); | ||
256 | |||
257 | assertThat(actual, structurallyEqualTo(expected)); | ||
258 | } | ||
210 | } | 259 | } |