Skip to main content

Utilities to aid in testing for equality.

Project description

Travis Test Status

This package is pre-alpha. The API may change.

When comparing structures like this dict:

assert actual == {
    'id': 123,
    'created': "2017-11-10T23:59:58",
    'field1': 1,
    ...
}

This fails because ‘id’ and ‘created’ are different every test run. Fix this using:

assert actual == {
    'id': AnyInt(),
    'created': AnyTimestamp(datetime.now(), seconds=3),
    'field1': 1,
    ...
}

AnyInt compares equal to any integer. Timestamp compares equal to string timestamps that are within the given number of seconds.

Compatibility

Python 3.6 and 2.7.

Known Problems

If timestamps are generated locally, in-process, then it’s easier to patch out datetime.now(). But if this is an end-to-end test that hits other services, that might not be an option. That’s when I find AnyTimestamp useful.

This is all hot off the press, so is doubtless full of mistakes.

Alternatives

This doubtless duplicates better work elsewhere. In particular the package ‘equals’ looks very nice, but it’s missing the central feature of ‘equality’, approximate comparison of string timestamps.

Contact

Users’ downloads & documentation: http://pypi.python.org/pypi/equality/
Contributors’ souce & issues: https://github.com/tartley/equality/
Author: Jonathan Hartley, email: tartley at domain tartley.com, Twitter: @tartley.

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

equality-0.0.13.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

equality-0.0.13-py2.py3-none-any.whl (5.0 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file equality-0.0.13.tar.gz.

File metadata

  • Download URL: equality-0.0.13.tar.gz
  • Upload date:
  • Size: 4.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for equality-0.0.13.tar.gz
Algorithm Hash digest
SHA256 e97571e94a122b3f3fb2a6444537da51c13931fbf6175126f652f47d2aec0afa
MD5 5d89a41a96b7bfda8c43b698ed4396bf
BLAKE2b-256 a9e14786f91235983d40b07d90d61b5e2cf42c56a47dd0676d8d69f02f689f80

See more details on using hashes here.

File details

Details for the file equality-0.0.13-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for equality-0.0.13-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 09188d2c79bebc035c4c5b68021ebf7ffc779f0c2c55f68d1c5ffd3be23162aa
MD5 6397d2716c41fe2c1d77ec554fc68061
BLAKE2b-256 efd904570d5c7cdddedd2d25bc7a239c36bf512237706172192d8312763e364e

See more details on using hashes here.

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