def test_put(self): imc_1 = IMCache() imc_2 = IMCache() combined = CombinedCache(imc_1, imc_2) combined.put('a', 1) self.assertEqual(imc_1.get('a'), 1) self.assertEqual(imc_2.get('a'), 1)
def test_get(self): imc_1 = IMCache() imc_2 = IMCache() combined = CombinedCache(imc_1, imc_2) imc_1.put('a', 1) self.assertEqual(combined.get('a'), 1) imc_2.put('b', 1) self.assertEqual(combined.get('b'), 1) imc_1.put('c', 1) imc_2.put('c', 2) self.assertEqual(combined.get('c'), 1)
def test_multiget(self): imc_1 = IMCache() imc_2 = IMCache() imc_3 = IMCache() combined = CombinedCache(imc_1, imc_2, imc_3) imc_1.put('a', 1) imc_1.put('c', 3) imc_2.put('b', 2) imc_3.put('a', 4) imc_3.put('e', 5) self.assertEqual(combined.multiget(['a', 'b', 'c', 'd', 'e']), [1, 2, 3, None, 5])
def test_multiget_update_closer_cache(self): imc_1 = IMCache() imc_2 = IMCache() combined = CombinedCache(imc_1, imc_2) imc_2.put('b', 1) with self.assertRaises(imc_1.CacheMissException): imc_1.get('b') self.assertEqual(combined.multiget(['b', 'c']), [1, None]) self.assertEqual(imc_1.get('b'), 1)