diff options
Diffstat (limited to 'tests/functional/s/singledispatch/singledispatchmethod_function_py38.py')
-rw-r--r-- | tests/functional/s/singledispatch/singledispatchmethod_function_py38.py | 41 |
1 files changed, 41 insertions, 0 deletions
diff --git a/tests/functional/s/singledispatch/singledispatchmethod_function_py38.py b/tests/functional/s/singledispatch/singledispatchmethod_function_py38.py new file mode 100644 index 000000000..ef44f71c1 --- /dev/null +++ b/tests/functional/s/singledispatch/singledispatchmethod_function_py38.py @@ -0,0 +1,41 @@ +"""Tests for singledispatchmethod-function""" +# pylint: disable=missing-class-docstring, missing-function-docstring,too-few-public-methods + + +from functools import singledispatch, singledispatchmethod + + +class BoardRight: + @singledispatch + @staticmethod + def convert_position(position): + pass + + @convert_position.register + @staticmethod + def _(position: str) -> tuple: + position_a, position_b = position.split(",") + return (int(position_a), int(position_b)) + + @convert_position.register + @staticmethod + def _(position: tuple) -> str: + return f"{position[0]},{position[1]}" + + +class Board: + @singledispatchmethod # [singledispatchmethod-function] + @staticmethod + def convert_position(position): + pass + + @convert_position.register # [singledispatchmethod-function] + @staticmethod + def _(position: str) -> tuple: + position_a, position_b = position.split(",") + return (int(position_a), int(position_b)) + + @convert_position.register # [singledispatchmethod-function] + @staticmethod + def _(position: tuple) -> str: + return f"{position[0]},{position[1]}" |