Skip to content

Commit 6ce162c

Browse files
committed
Cover auto solver default
1 parent a70efdb commit 6ce162c

1 file changed

Lines changed: 18 additions & 1 deletion

File tree

tests/test_solver_availability.py

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@
3737
}
3838

3939

40-
def test_solve_dung_extensions_returns_extensions_for_default_native_backend() -> None:
40+
def test_solve_dung_extensions_defaults_to_auto_backend() -> None:
4141
framework = ArgumentationFramework(
4242
arguments=frozenset({"a", "b"}),
4343
defeats=frozenset({("a", "b")}),
@@ -49,6 +49,23 @@ def test_solve_dung_extensions_returns_extensions_for_default_native_backend() -
4949
assert result.extensions == (frozenset({"a"}),)
5050

5151

52+
def test_solve_dung_extensions_default_auto_uses_sat_for_stable(monkeypatch) -> None:
53+
framework = ArgumentationFramework(
54+
arguments=frozenset({"a", "b"}),
55+
defeats=frozenset({("a", "b")}),
56+
)
57+
58+
def forbidden_native_extensions(*args, **kwargs):
59+
raise AssertionError("default stable solving should not call native enumeration")
60+
61+
monkeypatch.setattr(solver_module, "_dung_extensions", forbidden_native_extensions)
62+
63+
result = solve_dung_extensions(framework, semantics="stable")
64+
65+
assert isinstance(result, ExtensionSolverSuccess)
66+
assert result.extensions == (frozenset({"a"}),)
67+
68+
5269
@given(
5370
argumentation_frameworks(max_args=4),
5471
st.sampled_from(sorted(NATIVE_EXTENSION_ORACLES)),

0 commit comments

Comments
 (0)