Skip to main content

Collection of helper utilities for testing.

Project description

cykooz.testing is collection of helper utilities for testing.

Utilities

Dict

A dict object that can be compared with other dict object without regard to keys that did not presents in the Dict instance.

>>> from cykooz.testing import Dict
>>> d1 = Dict(a=1, b='foo')
>>> d2 = {'a': 1, 'b': 'foo', 'c': True}
>>> d1 == d2
True
>>> d2 == d1
True
>>> d1 != d2
False
>>> d3 = {'a': 1, 'c': True}
>>> d1 == d3
False
>>> d3 == d1
False
>>> d1 != d3
True
>>> Dict({'a': 1})
Dict({'a': 1})

Short alias:

>>> from cykooz.testing import D
>>> {'a': 1, 'b': 'foo'} == D({'a': 1})
True

List

A list object that can be compared with other list object without regard to extra items contains in the other list object.

>>> from cykooz.testing import List
>>> l1 = List([1, 'foo'])
>>> l2 = [1, 'foo', True]
>>> l1 == l2
True
>>> l2 == l1
True
>>> l1 != l2
False
>>> l3 = [1, True]
>>> l1 == l3
False
>>> l3 == l1
False
>>> l1 != l3
True
>>> l1 == [1]
False
>>> List([1, 'foo', True])
List([1, 'foo', True])
>>> List([Dict(), Dict()]) == [{'a': 1}, {'b': 2}]
True

Short alias:

>>> from cykooz.testing import L
>>> [1, 'foo', True] == L([1, 'foo'])
True

AnyValue

Instance of this class is equal to any other values.

>>> from cykooz.testing import AnyValue
>>> v = AnyValue()
>>> v == 1
True
>>> 1 == v
True
>>> v != 1
False
>>> v == {'a': 1, 'b': 'foo'}
True
>>> v == [1, 2, 3, 'b']
True
>>> v == AnyValue()
True
>>> v
<any value>
>>> {v: 1}
Traceback (most recent call last):
...
TypeError: unhashable type: 'AnyValue'
>>> [v, v, v] == [1, 2, 'foo']
True
>>> [v, v, 1] == [1, 2, 'foo']
False
>>> [v, v] == [1, 2, 'foo']
False
>>> {'a': v, 'b': 2} == {'a': 1, 'b': 2}
True

Short alias:

>>> from cykooz.testing import ANY
>>> 1 == ANY
True

RegExpString

Instance of this class is equal to any other values if it is matched to give regexp pattern.

>>> v = RegExpString('first.*')
>>> v == 1
False
>>> 1 == v
False
>>> v != 1
True
>>> v == 'first class'
True
>>> 'first class' == v
True
>>> v != 'first class'
False
>>> v
<RegExpString: first.*>
>>> {v: 1}
Traceback (most recent call last):
...
TypeError: unhashable type: 'RegExpString'
>>> [v, v, v] == [1, 2, 'first class']
False
>>> [v, v, v] == ['first class', 'first bus', 'first time']
True

Short alias:

>>> from cykooz.testing import R
>>> 'first class' == R('first.*')
True

Url

A url object that can be compared with other url objects without regard to the vagaries of encoding, escaping, and ordering of parameters in query strings.

>>> from cykooz.testing import Url
>>> url1 = Url('http://domain.com/container?limit=6&offset=0')
>>> url2 = Url('http://domain.com/container?offset=0&limit=6')
>>> url1 == url2
True
>>> url2 = Url('http://domain.com/container?limit=6')
>>> url1 == url2
False
>>> url1 == 'http://domain.com/container?offset=0&limit=6'
True
>>> 'http://domain.com/container?offset=0&limit=6' == url1
True
>>> {'key': 'http://domain.com/container?offset=0&limit=6'} == {'key': url1}
True

CHANGELOG

1.0.3 (2020-03-20)

Bug Fixes

  • Fixed namespace declaration.

1.0.1 (2019-07-12)

Bug Fixes

  • Fixed “Development Status” of package.

1.0 (2019-07-12)

Features

  • Initial release.

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

cykooz.testing-1.0.3.tar.gz (8.9 kB view details)

Uploaded Source

Built Distribution

cykooz.testing-1.0.3-py2.py3-none-any.whl (5.4 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file cykooz.testing-1.0.3.tar.gz.

File metadata

  • Download URL: cykooz.testing-1.0.3.tar.gz
  • Upload date:
  • Size: 8.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0

File hashes

Hashes for cykooz.testing-1.0.3.tar.gz
Algorithm Hash digest
SHA256 0661a532cd882af234b2fbb42b381dfd5c45dc286c117a8c56644335d60a8b4c
MD5 a118562bfa670b36747f4824c6e08f3b
BLAKE2b-256 3897e5034fbe59824ef7151157835a3849fe4df6e6685b862188f15c92eef51b

See more details on using hashes here.

File details

Details for the file cykooz.testing-1.0.3-py2.py3-none-any.whl.

File metadata

  • Download URL: cykooz.testing-1.0.3-py2.py3-none-any.whl
  • Upload date:
  • Size: 5.4 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.0.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.8.0

File hashes

Hashes for cykooz.testing-1.0.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 06abdf6f9cf0af5a39c9af25cb56c9c76cb61c0ecf5c04a53bbb16d9970b486f
MD5 f135f4e1ac5880794d7a68c7c645cd62
BLAKE2b-256 e3a67e7ee45dc4a2fdfceb11eca1da1e15b24b37407b864346fed47afff8731f

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