Metadata-Version: 2.4
Name: clintest
Version: 0.5.0
Summary: A test framework for clingo programs
Author-email: Tobias Stolzmann <tobias.stolzmann@uni-potsdam.de>
License-Expression: MIT
Project-URL: Homepage, https://potassco.org/clintest/
Project-URL: Source, https://github.com/potassco/clintest
Project-URL: Changelog, https://github.com/potassco/clintest/releases
Project-URL: Documentation, https://docs.potassco.org/clintest/
Project-URL: Issues, https://github.com/potassco/clintest/issues
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: clingo>=5.5.0
Provides-Extra: dev
Requires-Dist: mypy>=1; extra == "dev"
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: ruff>=0.15; extra == "dev"
Provides-Extra: doc
Requires-Dist: pdoc3>=0.11; extra == "doc"
Dynamic: license-file

# clintest

`clintest` is a Python framework that enables you to write efficient unit tests for `clingo` programs quickly.
Devising and running multiple tests is a simple as:

```python
from clintest.test import Assert, And
from clintest.quantifier import All, Any
from clintest.assertion import Contains
from clintest.solver import Clingo

solver = Clingo("0", "a. {b}.")
test = And(
    Assert(Any(), Contains("a")),
    Assert(All(), Contains("b")),
    Assert(Any(), Contains("c")),
)

solver.solve(test)
test.assert_()
```

For details, please read [the documentation](https://docs.potassco.org/clintest/).
