Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

A pythonic assertion library

License

NotificationsYou must be signed in to change notification settings

artisanofcode/python-conjecture

A pythonic assertion library.

🛠 Installing

Poetry

poetry add conjecture

pip

pip install conjecture

🎓 Usage

Basic

A basic assertion.

>>>import conjecture>>>assert5== conjecture.has(lambdav: v<10)>>>assert5== conjecture.has(lambdav: v>10)Traceback (most recent call last):  File "<stdin>", line 1, in <module>AssertionError

Built-in conjectures

General

Matching none.

>>>import conjecture>>>assertNone== conjecture.none()

Matching anything.

>>>import conjecture>>>assertNone== conjecture.anything()>>>assert123== conjecture.anything()>>>assert"abc"== conjecture.anything()

Mapping

Matching keys.

>>>import conjecture>>>assert {"a":1}== conjecture.has_key("a")>>>assert {"a":1}== conjecture.has_key("a",of=1)>>>assert {"a":1}== conjecture.has_key("a",of=conjecture.less_than(5))

Object

Matching instances of a class.

>>>import conjecture>>>assert123== conjecture.instance_of(int)>>>assert"abc"== conjecture.instance_of((str,bytes))

Matching values.

>>>import conjecture>>>assert123== conjecture.equal_to(123)>>>assert"abc"== conjecture.equal_to("abc")

Matching attributes.

>>>import conjecture>>>assert1== conjecture.has_attribute("__class__")>>>assert1== conjecture.has_attribute("__class__",of=int)>>>assert1== conjecture.has_attribute("__class__",of=conjecture.instance_of(type))

Rich ordering

Matching lesser values.

>>>import conjecture>>>assert5== conjecture.greater_than(1)>>>assert5== conjecture.greater_than_or_equal_to(1)

Matching greater values.

>>>import conjecture>>>assert1== conjecture.less_than(5)>>>assert1== conjecture.less_than_or_equal_to(5)

Size

Matching empty collections.

>>>import conjecture>>>assertlist()== conjecture.empty()>>>assertset()== conjecture.empty()>>>asserttuple()== conjecture.empty()>>>assertdict()== conjecture.empty()

Matching length of collections.

>>>import conjecture>>>assert [1,2,3,4,5]== conjecture.length_of(5)>>>assert [1,2,3]== conjecture.length_of(conjecture.less_than(5))

String

Matching string prefixes.

>>>import conjecture>>>assert"foo bar baz"== conjecture.prefixed_with("foo")>>>assertb"foo bar baz"== conjecture.prefixed_with(b"foo")

Matching string suffixes.

>>>import conjecture>>>assert"foo bar baz"== conjecture.suffixed_with("baz")>>>assertb"foo bar baz"== conjecture.suffixed_with(b"baz")

Combined conjectures

Matching all conditions.

>>>import conjecture>>>assert5== conjecture.has(lambdav: v<=5)& conjecture.has(lambdav:v=>5)>>>assert6== conjecture.has(lambdav: v<=5)& conjecture.has(lambdav:v=>5)Traceback (most recent call last):  File "<stdin>", line 1, in <module>AssertionError>>>assert5== conjecture.all_of(...     conjecture.has(lambdav: v<=5),...     conjecture.has(lambdav:v=>5)... )>>>assert6== conjecture.all_of(...     conjecture.has(lambdav: v<=5),...     conjecture.has(lambdav:v=>5)... )Traceback (most recent call last):  File "<stdin>", line 1, in <module>AssertionError

Matching any conditions.

>>>import conjecture>>>assert0== conjecture.has(lambdav: v==5)| conjecture.has(lambdav: v==0)>>>assert5== conjecture.has(lambdav: v==5)| conjecture.has(lambdav: v==0)>>>assert6== conjecture.has(lambdav: v==5)| conjecture.has(lambdav: v==0)Traceback (most recent call last):  File "<stdin>", line 1, in <module>AssertionError>>>assert5== conjecture.any_of(...     conjecture.has(lambdav: v==5),...     conjecture.has(lambdav: v==0)... )>>>assert6== conjecture.any_of(...     conjecture.has(lambdav: v==5),...     conjecture.has(lambdav: v==0)... )Traceback (most recent call last):  File "<stdin>", line 1, in <module>AssertionError

Negation

A negative assertion.

>>>import conjecture>>>assert5!= conjecture.has(lambdav: v==10)>>>assert5==~conjecture.has(lambdav: v==10)>>>assert10==~conjecture.has(lambdav: v==10)Traceback (most recent call last):  File "<stdin>", line 1, in <module>AssertionError

⚖️ Licence

This project is licensed under theMIT licence.

All documentation and images are licenced under theCreative Commons Attribution-ShareAlike 4.0 International License.

📝 Meta

This project usesSemantic Versioning.

About

A pythonic assertion library

Topics

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Sponsor this project

  •  

Packages

No packages published

Contributors3

  •  
  •  
  •  

[8]ページ先頭

©2009-2025 Movatter.jp