def test_constructor(self): for i in range(5): name = self.generate_string() cache = Cache(name) self.assertEqual(name, cache.name) self.assertEqual(cache.allow_type_override, True) for j in range(5): cache = Cache() cache.allow_type_override = False self.assertEqual(cache.name, None) self.assertEqual(cache.allow_type_override, False)
def test_add_delete(self): cache = Cache() cache.allow_type_override = False cache.add(1234) cache.add([x for x in range(10)]) cache.add([random.randint(0, 100) for _ in range(10)], "randList") self.assertTrue(len(cache) == 3) cache.delete("1234") self.assertTrue(len(cache) == 2) del cache["randList"] self.assertTrue(len(cache) == 1) cache.add(123, "123") cache.add(123) cache.add("Does not raise", 123) self.assertRaises(TypeError, cache.add, "Should raise", "123") self.assertRaises(TypeError, cache.add, [], "123") self.assertRaises(TypeError, cache.add, 0, 123)