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

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

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

File metadata

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

File hashes

Hashes for equality-0.0.9.tar.gz
Algorithm Hash digest
SHA256 ac1ffde25e25e120bc468d532faabd8d6e4a1d5df867ad5312ab28cb1f42df81
MD5 a5d17a5320d90fc6908d4e16c1a71d4a
BLAKE2b-256 350a24c1a0a84d33bf807df44258e7652c1157719ac2229a2a66962970b967a8

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for equality-0.0.9-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 41955d1b33c4f34e76569ab9d899335426148a008dcb101924eb33254a77f768
MD5 fcd2be43226efa3f0aa80c6a5dea1649
BLAKE2b-256 bff78915f6b07e960c3bad848aeb0bc353bf0833436a4b8c48c9788eb4fedb74

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