Metadata-Version: 1.0
Name: anything
Version: 0.2.0
Summary: Python constants that consider themselves equal to everything else. Useful for unit testing and more.
Home-page: https://github.com/vilcans/anything
Author: Martin Vilcans
Author-email: martin@librador.com
License: MIT
Description: anything
        ========
        
        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)
        
Keywords: unittest
Platform: UNKNOWN
