X-Git-Url: http://review.tizen.org/git/?a=blobdiff_plain;f=src%2Ftools%2Ftelemetry%2Ftelemetry%2Funittest%2Fdecorators_unittest.py;h=a88ce35a6ee18931d3cde5a2e151eaa08aee0fa7;hb=4a1a0bdd01eef90b0826a0e761d3379d3715c10f;hp=0487f3475aad2c6585adcd4ba1317ffb0e23ff28;hpb=b1be5ca53587d23e7aeb77b26861fdc0a181ffd8;p=platform%2Fframework%2Fweb%2Fcrosswalk.git diff --git a/src/tools/telemetry/telemetry/unittest/decorators_unittest.py b/src/tools/telemetry/telemetry/unittest/decorators_unittest.py index 0487f34..a88ce35 100644 --- a/src/tools/telemetry/telemetry/unittest/decorators_unittest.py +++ b/src/tools/telemetry/telemetry/unittest/decorators_unittest.py @@ -6,9 +6,15 @@ import unittest from telemetry import decorators +_counter = 0 + class Foo(object): - pass + @decorators.Cache + def GetCountCached(self, _): + global _counter + _counter = _counter + 1 + return _counter def CreateFooUncached(_): @@ -21,6 +27,7 @@ def CreateFooCached(_): class DecoratorsUnitTest(unittest.TestCase): + # pylint: disable=C0102 def testCacheDecorator(self): self.assertNotEquals(CreateFooUncached(1), CreateFooUncached(2)) @@ -28,3 +35,24 @@ class DecoratorsUnitTest(unittest.TestCase): self.assertNotEquals(CreateFooUncached(1), CreateFooUncached(1)) self.assertEquals(CreateFooCached(1), CreateFooCached(1)) + + def testCacheableMemberCachesOnlyForSameArgs(self): + foo = Foo() + value_of_one = foo.GetCountCached(1) + + self.assertEquals(value_of_one, foo.GetCountCached(1)) + self.assertNotEquals(value_of_one, foo.GetCountCached(2)) + + def testCacheableMemberHasSeparateCachesForSiblingInstances(self): + foo = Foo() + sibling_foo = Foo() + + self.assertNotEquals(foo.GetCountCached(1), sibling_foo.GetCountCached(1)) + + def testCacheableMemberHasSeparateCachesForNextGenerationInstances(self): + foo = Foo() + last_generation_count = foo.GetCountCached(1) + foo = None + foo = Foo() + + self.assertNotEquals(last_generation_count, foo.GetCountCached(1))