예제 #1
0
    def test_access(self) -> None:
        proxy = Proxy()
        proxy.nested.value

        path = _get_ops(proxy)
        self.assertEqual(path, [GetAttr("nested"), GetAttr("value")])
예제 #2
0
 def test_empty(self) -> None:
     proxy = Proxy()
     path = _get_ops(proxy)
     self.assertEqual(path, [])
예제 #3
0
    def test_getitem(self) -> None:
        proxy = Proxy()
        proxy.nested.value[1]

        path = _get_ops(proxy)
        self.assertEqual(path, [GetAttr("nested"), GetAttr("value"), GetItem(1)])
예제 #4
0
 def test_set_multiple(self) -> None:
     proxy = Proxy()
     proxy.value1 = 1
     proxy.value2 = 2
     self.assertEqual(_get_ops(proxy), [SetAttr('value1', 1), SetAttr('value2', 2)])
예제 #5
0
 def test_nested_set(self) -> None:
     proxy = Proxy()
     proxy.nested.value = 12
     self.assertEqual(_get_ops(proxy), [GetAttr('nested'), SetAttr('value', 12)])
예제 #6
0
 def test_set(self) -> None:
     proxy = Proxy()
     proxy.value = 5
     self.assertEqual(_get_ops(proxy), [SetAttr('value', 5)])
예제 #7
0
 def __get_ops(self, proxy: typing.Any) -> typing.List[PropertyOp]:
     return _get_ops(proxy)