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/

The 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.12.tar.gz (4.6 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for equality-0.0.12.tar.gz
Algorithm Hash digest
SHA256 6e5570c73960c3b18481c9d88d71e61556149c1dcd94e6db7ed958900aadd4a3
MD5 c0273c9285495a77940c4a2d691cc3b6
BLAKE2b-256 1473993de687a68daedbb0b6d7b6516703b5fa6a1dd0a797f5bff7e4e732760d

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for equality-0.0.12-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 26e0a5dae2d82b6c73ac9816550a8fdb64182046bb4abda681e9e5ebb8e42620
MD5 f71f05a2a20cb329845436201bd128ed
BLAKE2b-256 bbf2af8812a36e0f9d5bce0f69c215901d533b386c2204d2f5b56ddd6c4401a1

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