コード例 #1
0
ファイル: test_proxys.py プロジェクト: Deric-W/PyHP
 def test_eq(self) -> None:
     """test LocalStackProxy.__eq__"""
     p = [
         proxys.LocalStackProxy(1),
         proxys.LocalStackProxy(2),
         proxys.LocalStackProxy(1)
     ]
     p[2].push(1)
     for proxy in p:
         self.assertEqual([obj for obj in p if obj == proxy], [proxy])
     self.assertNotEqual(p[0], 42)
コード例 #2
0
ファイル: test_proxys.py プロジェクト: Deric-W/PyHP
 def test_local(self) -> None:
     """test LocalStackProxy local-ness"""
     dummies = [Dummy(), Dummy()]
     proxy = proxys.LocalStackProxy(dummies[0])
     thread = threading.Thread(target=lambda: proxy.push(dummies[1]))
     thread.start()
     thread.join()
     self.assertIs(proxy.peek(), dummies[0])
コード例 #3
0
ファイル: test_proxys.py プロジェクト: Deric-W/PyHP
 def test_replace(self) -> None:
     """test LocalStackProxy.replace"""
     dummies = [Dummy(), Dummy()]
     proxy = proxys.LocalStackProxy(dummies[0])
     with proxy.replace(dummies[1]) as obj:
         self.assertIs(obj, dummies[1])
         self.assertIs(proxy.peek(), dummies[1])
     self.assertIs(proxy.peek(), dummies[0])
コード例 #4
0
ファイル: test_proxys.py プロジェクト: Deric-W/PyHP
 def test_stack(self) -> None:
     """test stack"""
     dummies = [Dummy(), Dummy()]
     proxy = proxys.LocalStackProxy(dummies[0])
     self.assertIs(proxy.peek(), dummies[0])
     proxy.push(dummies[1])
     self.assertIs(proxy.peek(), dummies[1])
     self.assertIs(proxy.pop(), dummies[1])
     self.assertIs(proxy.peek(), dummies[0])
コード例 #5
0
ファイル: test_proxys.py プロジェクト: Deric-W/PyHP
 def test_attr(self) -> None:
     """test attribute access"""
     default = Dummy()
     default.x = 0
     proxy = proxys.LocalStackProxy(default)
     self.assertEqual(proxy.x, 0)
     proxy.x = 1
     self.assertEqual(proxy.x, 1)
     self.assertEqual(default.x, 1)
     del proxy.x
     with self.assertRaises(AttributeError):
         proxy.x
     with self.assertRaises(AttributeError):
         default.x