Skip to main content

Dingus call matcher for should-dsl

Project description

This modules contains a custom matcher so you can use should_dsl with Dingus calls

A small warning: The | operator hack of should_dsl’s doesn’t really go well with the __or__() of a Dingus. I think the | hack is nasty, and I’m not sure I like should_dsl for it. This is where Ruby seems really pretty to me.

You only need to import it

>>> from should_dsl import should, should_not
>>> from dingus import Dingus
>>> import should_dingus

call

Checks calls on a Dingus

>>> stub = Dingus('stub')
>>> def some_function():
...     stub()
...
>>> some_function |should| call(stub)

call can also check that it should be called once:

>>> def some_function():
...     stub()
...     stub()
...
>>> stub.reset()
>>> some_function |should| call(stub)
>>> stub.reset()
>>> some_function |should| call(stub).once
Traceback (most recent call last):
...
ShouldNotSatisfied: <Dingus stub> was called 2 times, expected 1

call can even check the parameters with with_params:

>>> def some_function():
...     stub(True, kwak='tuut', braat='aap')
...
>>> stub.reset()
>>> some_function |should| call(stub).with_params(True, kwak='tuut', braat='aap')
>>> stub.reset()
>>> some_function |should| call(stub).with_params(True, kwak='tuut')
Traceback (most recent call last):
...
ShouldNotSatisfied: <Dingus stub> has not been called with params (True,) {'kwak': 'tuut'}

call with_params can be combined with once:

>>> def some_function():
...     stub(True, kwak='tuut', braat='aap')
...
>>> stub.reset()
>>> some_function |should| call(stub).once.with_params(True, kwak='tuut', braat='aap')
>>> stub.reset()
>>> some_function |should| call(stub).with_params(True, kwak='tuut', braat='aap').once

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

should-dingus-0.3.tar.gz (4.4 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page