def testDummyMethod(self): self.assertEquals("def foo() -> Any: ...", pytd.Print(pytd_utils.DummyMethod("foo"))) self.assertEquals("def foo(x) -> Any: ...", pytd.Print(pytd_utils.DummyMethod("foo", "x"))) self.assertEquals("def foo(x, y) -> Any: ...", pytd.Print(pytd_utils.DummyMethod("foo", "x", "y")))
def _fill_in_implicit_protocol_methods(self, methods): if "__getitem__" in methods and "__iter__" not in methods: # If a class has a __getitem__ method, it also (implicitly) has a # __iter__: Python will emulate __iter__ by calling __getitem__ with # increasing integers until it throws IndexError. methods["__iter__"] = pytd_utils.DummyMethod("__iter__", "self")