Skip to main content

Utilities to aid in testing for equality.

Project description

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 developers:

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

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for equality-0.0.6.tar.gz
Algorithm Hash digest
SHA256 85bdb9802f31d8abeee45c48e80281c3506668a771e84f99d4c74932e7dcc881
MD5 a6f7b105fa585ed2ebded05f004d09d0
BLAKE2b-256 bd4803b43020523f098f53860048e3deb5531e89c1c02ee84a10a011b46c11e5

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for equality-0.0.6-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 baf50bf0b51354b07d28b03663be38c85eb1608d02fc23a7449b2c010ed07fee
MD5 5f6b11ea0769b3d7e609242fa40798a8
BLAKE2b-256 c217449cad767a1e2b4fbd8f84e2ffa49c418cf9441f72b9adfbcbdcb610c27a

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