From aa453f29a7f9845bc7687ec860651430d5cc1ea5 Mon Sep 17 00:00:00 2001 From: Tim Rid <6593626+timrid@users.noreply.github.com> Date: Sat, 2 Jan 2021 17:54:52 +0100 Subject: [PATCH] fixed mypy and pytest errors --- construct_typed/tenum.py | 6 +++--- tests/declarativeunittest.pyi | 5 +++-- tests/test_typed.py | 2 ++ 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/construct_typed/tenum.py b/construct_typed/tenum.py index 5cf2622..300654c 100644 --- a/construct_typed/tenum.py +++ b/construct_typed/tenum.py @@ -25,14 +25,14 @@ class EnumBase(enum.IntEnum): @classmethod def _create_pseudo_member_(cls, value: int) -> "EnumBase": - pseudo_member = cls._value2member_map_.get(value, None) + pseudo_member = cls._value2member_map_.get(value, None) # type: ignore if pseudo_member is None: - new_member = int.__new__(cls, value) + new_member = int.__new__(cls, value) # type: ignore # I expect a name attribute to hold a string, hence str(value) # However, new_member._name_ = value works, too new_member._name_ = str(value) new_member._value_ = value - pseudo_member = cls._value2member_map_.setdefault(value, new_member) + pseudo_member = cls._value2member_map_.setdefault(value, new_member) # type: ignore return pseudo_member # type: ignore EnumType = t.TypeVar("EnumType", bound=EnumBase) diff --git a/tests/declarativeunittest.pyi b/tests/declarativeunittest.pyi index 2083c34..336b003 100644 --- a/tests/declarativeunittest.pyi +++ b/tests/declarativeunittest.pyi @@ -6,6 +6,7 @@ import construct_typed as cst Buffer = t.Union[bytes, memoryview, bytearray] ParsedType = t.TypeVar("ParsedType") BuildTypes = t.TypeVar("BuildTypes") +ContainerType = t.TypeVar("ContainerType", bound=cst.TContainerBase) T = t.TypeVar("T") IdentType = t.TypeVar("IdentType") @@ -19,9 +20,9 @@ def raises( ) -> t.Union[t.Any, Exception]: ... @t.overload def common( - format: cst.TStruct[ParsedType], + format: cst.TStruct[ContainerType], datasample: Buffer, - objsample: t.Union[ParsedType, t.Dict[str, t.Any]], + objsample: t.Union[ContainerType, t.Dict[str, t.Any]], sizesample: t.Union[int, t.Type[Exception]] = ..., **kw: t.Any ) -> None: ... diff --git a/tests/test_typed.py b/tests/test_typed.py index 921154a..770b418 100644 --- a/tests/test_typed.py +++ b/tests/test_typed.py @@ -6,6 +6,7 @@ import typing as t import construct as cs import construct_typed as cst +import pytest from .declarativeunittest import common, raises, setattrs @@ -227,6 +228,7 @@ def test_tstruct_wrong_container() -> None: ) +@pytest.mark.xfail(reason="not implemented yet") def test_tbitstruct() -> None: assert False