Beispiel #1
0
    def test_lazy_dictionary(self):
        """Checks content of lazy dictionary and number of evaluations."""
        populate = CallCounter(lambda: {'foo': 'bar', 1: 11, 'empty': None})

        lazy_dict = LazyDict(populate)
        self.assertEqual(populate.counter, 0)

        self.assertEqual(lazy_dict['foo'], 'bar')
        self.assertEqual(populate.counter, 1)

        self.assertEqual(lazy_dict[1], 11)
        self.assertEqual(populate.counter, 1)

        self.assertEqual(lazy_dict['empty'], None)
        self.assertEqual(populate.counter, 1)

        # clear the cache
        lazy_dict.expunge()
        self.assertEqual(lazy_dict['foo'], 'bar')
        self.assertEqual(populate.counter, 2)

        del lazy_dict['foo']
        self.assertEqual(populate.counter, 2)
        assert 'foo' not in lazy_dict
    def test_lazy_dictionary(self):
        """Checks content of lazy dictionary and number of evaluations."""
        populate = CallCounter(lambda: {'foo': 'bar', 1: 11, 'empty': None})

        lazy_dict = LazyDict(populate)
        self.assertEqual(populate.counter, 0)

        self.assertEqual(lazy_dict['foo'], 'bar')
        self.assertEqual(populate.counter, 1)

        self.assertEqual(lazy_dict[1], 11)
        self.assertEqual(populate.counter, 1)

        self.assertEqual(lazy_dict['empty'], None)
        self.assertEqual(populate.counter, 1)

        # clear the cache
        lazy_dict.expunge()
        self.assertEqual(lazy_dict['foo'], 'bar')
        self.assertEqual(populate.counter, 2)

        del lazy_dict['foo']
        self.assertEqual(populate.counter, 2)
        assert 'foo' not in lazy_dict