A pythonic assertion library
Project description
Conjecture
A pythonic assertion library.
🛠 Installing
Poetry
poetry add conjecture
pip
pip install conjecture
🎓 Usage
Basic
A basic assertion.
>>> import conjecture
>>> assert 5 == conjecture.has(lambda v: v < 10)
>>> assert 5 == conjecture.has(lambda v: v > 10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
Combined conjectures
Matching all conditions.
>>> import conjecture
>>> assert 5 == conjecture.has(lambda v: v <= 5) & conjecture.has(lambda v: v => 5)
>>> assert 6 == conjecture.has(lambda v: v <= 5) & conjecture.has(lambda v: v => 5)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
>>> assert 5 == conjecture.all_of(
... conjecture.has(lambda v: v <= 5),
... conjecture.has(lambda v: v => 5)
... )
>>> assert 6 == conjecture.all_of(
... conjecture.has(lambda v: v <= 5),
... conjecture.has(lambda v: v => 5)
... )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
Matching any conditions.
>>> import conjecture
>>> assert 0 == conjecture.has(lambda v: v == 5) | conjecture.has(lambda v: v == 0)
>>> assert 5 == conjecture.has(lambda v: v == 5) | conjecture.has(lambda v: v == 0)
>>> assert 6 == conjecture.has(lambda v: v == 5) | conjecture.has(lambda v: v == 0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
>>> assert 5 == conjecture.any_of(
... conjecture.has(lambda v: v == 5),
... conjecture.has(lambda v: v == 0)
... )
>>> assert 6 == conjecture.any_of(
... conjecture.has(lambda v: v == 5),
... conjecture.has(lambda v: v == 0)
... )
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
Negation
A negative assertion.
>>> import conjecture
>>> assert 5 != conjecture.has(lambda v: v == 10)
>>> assert 5 == ~conjecture.has(lambda v: v == 10)
>>> assert 10 == ~conjecture.has(lambda v: v == 10)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AssertionError
⚖️ Licence
This project is licensed under the MIT licence.
All documentation and images are licenced under the Creative Commons Attribution-ShareAlike 4.0 International License.
📝 Meta
This project uses Semantic Versioning.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
conjecture-0.0.3.tar.gz
(6.0 kB
view hashes)
Built Distribution
Close
Hashes for conjecture-0.0.3-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 372fde6beb8fd22fc999892c825415884aa1f9d4978c26cab4524776357d0ab2 |
|
MD5 | f88a4dba1a97180492e8063b37191f93 |
|
BLAKE2b-256 | b11248135a07a835fe786b91636879ab6ad8c2982a152fd7d37aee1edb1bbbf0 |