Python constants that consider themselves equal to everything else. Useful for unit testing and more.
Project description
Defines the Anything and Something constants.
Anything compares true with any other object:
>>> Anything == 42 True >>> 'hello' == Anything True
You can use it to check that specific values in a data structure have a value, but it doesn’t matter what they are, for example in a unit test:
>>> [1, 2, 3] == [1, Anything, 3] True >>> {'x': 10, 'y': -3} == {'x': 10, 'y': Anything} True >>> {'x': 10} == {'x': 10, 'y': Anything} False
Inequality behaves consistently with equality:
>>> 'hello' != Anything False
Even None is considered equal to Anything:
>>> Anything == None True
If you want to make sure that a value is not None, use Something instead:
>>> Something == None False >>> Something == 1 True >>> 1 == Something True >>> Something != None True >>> Something != 'foo' False
Something only checks for None specifically, i.e. it does not accept any falsy value:
>>> Something == False True >>> Something != False False
Equality between the two constants works as you probably expect:
>>> Anything == Anything True >>> Something == Something True >>> Anything == Something True >>> Something == Anything True
Usage in Tests
Example: Creating a user and making sure its data is returned. As the generated ID can be anything, we can’t check it’s value, but this makes sure it is returned:
import unittest class MyTest(unittest.TestCase): def test_create_user(self): data = create_user(name='Mary') self.assertEqual({ 'name': 'Mary', 'id': Anything }, data)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file anything-0.2.1.tar.gz
.
File metadata
- Download URL: anything-0.2.1.tar.gz
- Upload date:
- Size: 2.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad3f9112bab0e09a7d0608a54139325bf264e2f38471e76c194fe7a64faad19c |
|
MD5 | 63db97a49e11e54b7481b33f6f7865dc |
|
BLAKE2b-256 | 5ccf472ddcfd30d2aba865b5b9f861697e499c62f9ce29d18e27f97e1b760848 |