Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 import sys
00025 sys.path.insert(1,"../")
00026
00027 import unittest
00028
00029 from Singleton import *
00030
00031 class SingletonMock(Singleton):
00032 _cnt = 0
00033 def __init__(self):
00034 print "SingletonMock"
00035
00036 pass
00037
00038 def up(self):
00039 self._cnt += 1
00040
00041 def get(self):
00042 return self._cnt
00043
00044
00045 class TestSingleton(unittest.TestCase):
00046 def setUp(self):
00047 return
00048
00049 def tearDown(self):
00050 return
00051
00052
00053 def test_SingletonCase(self):
00054 mock = SingletonMock()
00055 print "Singleton 0"
00056 mock0 = SingletonMock()
00057 print "mock0 ", mock0
00058 print "Singleton 1"
00059 mock1 = SingletonMock()
00060 print "mock1 ", mock1
00061 self.assertEqual(mock0.get(), 0)
00062 self.assertEqual(mock1.get(), 0)
00063 mock0.up()
00064 self.assertEqual(mock0.get(), 1)
00065 self.assertEqual(mock1.get(), 1)
00066 mock1.up()
00067 self.assertEqual(mock0.get(), 2)
00068 self.assertEqual(mock1.get(), 2)
00069 mock2 = SingletonMock.instance()
00070 print "mock2 ", mock2
00071 self.assertEqual(mock0.get(), 2)
00072 self.assertEqual(mock1.get(), 2)
00073 self.assertEqual(mock2.get(), 2)
00074 return
00075
00076 if __name__ == "__main__":
00077 unittest.main()