diff --git a/wetb/utils/tests/test_caching.py b/wetb/utils/tests/test_caching.py index 417087a1424374ee21c6770a5c56f0f9a5efeab1..94530e7c13ddcb72f56787a2f0ad79bbb4857dc0 100644 --- a/wetb/utils/tests/test_caching.py +++ b/wetb/utils/tests/test_caching.py @@ -17,9 +17,6 @@ import unittest from wetb.utils.timing import get_time from wetb.utils.caching import cache_function, set_cache_property, cache_method -import pdb - - class Example(object): @@ -32,6 +29,11 @@ class Example(object): def slow_function(self): time.sleep(1) return 1 + + @property + @cache_function + def test_cache_property(self): + return self.slow_function() @cache_function def test_cache_function(self): @@ -65,14 +67,14 @@ class TestCacheProperty(unittest.TestCase): e = Example() self.assertAlmostEqual(e.prop("test")[1], 1, 1) self.assertAlmostEqual(e.prop("test")[1], 0, 2) - + def testcache_property_pool(self): e = Example() e.prop("pool") #load pool self.assertAlmostEqual(e.prop("pool")[1], 0, places=4) #print (get_time(e.pool.map)(f, range(10))) - - + + def test_cache_function(self): e = Example() self.assertAlmostEqual(get_time(e.test_cache_function)()[1], 1, places=1) @@ -81,8 +83,8 @@ class TestCacheProperty(unittest.TestCase): self.assertAlmostEqual(get_time(e.test_cache_function)()[1], 0, places=1) e.clear_cache() self.assertAlmostEqual(get_time(e.test_cache_function)()[1], 1, places=1) + - def test_cache_function_with_arguments(self): e = Example() self.assertAlmostEqual(get_time(e.test_cache_method1)(3)[1], 1, places=1) @@ -99,6 +101,15 @@ class TestCacheProperty(unittest.TestCase): self.assertEqual(e.test_cache_method1(3), 3) self.assertEqual(e.test_cache_method1(5), 5) self.assertAlmostEqual(get_time(e.test_cache_method1)(5)[1], 0, places=1) + + def test_cache_property(self): + e = Example() + t = time.time() + e.test_cache_property + self.assertAlmostEqual(time.time()-t, 1, places=1) + t = time.time() + e.test_cache_property + self.assertAlmostEqual(time.time()-t, 0, places=1) if __name__ == "__main__": #import sys;sys.argv = ['', 'Test.testName'] unittest.main()