Skip to content

Commit

Permalink
Corrected test cases
Browse files Browse the repository at this point in the history
- Corrected test cases delx/4 and delx/5 after slightly changing the corresponding examples in commit df46ea2
- Replaced superset comparison by equality in the tests based on the examples.
- Corrected wrong variable in library case leading to safety error in explain mode.
  • Loading branch information
ovidiomanteiga committed Jun 9, 2024
1 parent e2c32ab commit 635ec09
Show file tree
Hide file tree
Showing 4 changed files with 21 additions and 18 deletions.
2 changes: 1 addition & 1 deletion deolingo/examples/delxx/example5.1.lp
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ fence :- white_fence.
fence.

% The fence is white.
-white_fence.
white_fence.

%!show_trace &obligatory{X}.
%!show_trace &permitted{X}.
Expand Down
2 changes: 1 addition & 1 deletion deolingo/examples/real/udc_library.case1.lp
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,7 @@ violated(Person, curfew) :- &violated_prohibition{go_out(Person)}, curfew.
%!trace_rule {"It is obligatory to call the police if someone violated the curfew"}
&obligatory{call_the_police} :- &violated_prohibition{go_out(Person)}, curfew.

%!trace_rule {"% violated the curfew",Person}
%!trace_rule {"% violated the curfew",User}
violated(User, max_loan_policy) :- &violated_prohibition{exceed_max_docs_loan(User)}.

%!trace_rule {"% must notify the library since she violated the return policy during the curfew",User}
Expand Down
27 changes: 15 additions & 12 deletions tests/test_delx_examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ def test_delx_example_1_1(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_delx_example_1_2(self):
# Arrange
Expand All @@ -30,7 +30,7 @@ def test_delx_example_1_2(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_delx_example_2(self):
# Arrange
Expand All @@ -41,7 +41,7 @@ def test_delx_example_2(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_delx_example_3(self):
# Arrange
Expand All @@ -52,26 +52,29 @@ def test_delx_example_3(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_delx_example_4(self):
# Arrange
example = ExampleReader().read_example("delx/example4.lp")
expected_answer_set = {'&forbidden{f}'}
expected_answer_set = {'&permitted{f}', 'f', 's'}
# Act
actual_answer_sets = self.get_sut().solve(example.contents)
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_delx_example_5_1(self):
# Arrange
example = ExampleReader().read_example("delx/example5.1.lp")
expected_answer_set = {'&forbidden{f}', '&forbidden{w}', 'f', '&obligatory{w}', '&obligatory{f}', 'w'}
# Act
actual_answer_sets = self.get_sut().solve(example.contents)
# Assert
assert actual_answer_sets == []
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set == expected_answer_set

def test_delx_example_5_2(self):
# Arrange
Expand All @@ -82,7 +85,7 @@ def test_delx_example_5_2(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_delx_example_6_1(self):
# Arrange
Expand All @@ -99,8 +102,8 @@ def test_delx_example_6_1(self):
assert len(actual_answer_sets) == 2
actual_answer_set_0 = set(actual_answer_sets[0])
actual_answer_set_1 = set(actual_answer_sets[1])
assert actual_answer_set_0.issuperset(expected_answer_sets[0])
assert actual_answer_set_1.issuperset(expected_answer_sets[1])
assert actual_answer_set_0 == expected_answer_sets[0]
assert actual_answer_set_1 == expected_answer_sets[1]

def test_delx_example_6_2(self):
# Arrange
Expand All @@ -117,8 +120,8 @@ def test_delx_example_6_2(self):
assert len(actual_answer_sets) == 2
actual_answer_set_0 = set(actual_answer_sets[0])
actual_answer_set_1 = set(actual_answer_sets[1])
assert actual_answer_set_0.issuperset(expected_answer_sets[0])
assert actual_answer_set_1.issuperset(expected_answer_sets[1])
assert actual_answer_set_0 == expected_answer_sets[0]
assert actual_answer_set_1 == expected_answer_sets[1]


class DeolingoDELXExamplesOptimizedTestCase(DeolingoDELXExamplesTestCase):
Expand Down
8 changes: 4 additions & 4 deletions tests/test_preliminary_examples.py
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ def test_preliminary_example_1(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_preliminary_example_2(self):
# Arrange
Expand All @@ -31,7 +31,7 @@ def test_preliminary_example_2(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_preliminary_example_3(self):
# Arrange
Expand All @@ -51,7 +51,7 @@ def test_preliminary_example_4(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set

def test_preliminary_example_5(self):
# Arrange
Expand All @@ -62,7 +62,7 @@ def test_preliminary_example_5(self):
# Assert
assert len(actual_answer_sets) == 1
actual_answer_set = set(actual_answer_sets[0])
assert actual_answer_set.issuperset(expected_answer_set)
assert actual_answer_set == expected_answer_set


class DeolingoPreliminaryExamplesOptimizedTestCase(DeolingoPreliminaryExamplesTestCase):
Expand Down

0 comments on commit 635ec09

Please sign in to comment.