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

For users:

Downloads & documentation: http://pypi.python.org/pypi/equality/

For contributors:

Souce code & issues: https://github.com/tartley/equality/

Contact 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.10.tar.gz (4.7 kB view details)

Uploaded Source

Built Distribution

equality-0.0.10-py2.py3-none-any.whl (5.1 kB view details)

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for equality-0.0.10.tar.gz
Algorithm Hash digest
SHA256 cc48463c152784a52e48011f3783817bc21cf20f37002e80fb6452508ce5b7cd
MD5 7436174f668977d927a8dd8c0e993253
BLAKE2b-256 709b9e69e020a7aeea1c39b7ef33f92c2fa5abee0304517644eb431fb28dd623

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for equality-0.0.10-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 8a2eded9f326a5a0861b4f2ce162bd4e77bae0e6d5cd4855986494b484fc416c
MD5 171df64d2aad0a1216c31fbfdf7dd5a3
BLAKE2b-256 210efbe10219d1a0df9fd0c5ea87e8fd239ca61a03ed23e764f9aac43a45619a

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