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