Пример #1
0
def test_type():
    class User:
        pass

    class BasicUser(User):
        pass

    class ProUser(User):
        pass

    class TeamUser(ProUser):
        pass

    assert isinstanceof(User, Type[User])
    assert isinstanceof(BasicUser, Type[User])
    assert isinstanceof(ProUser, Type[User])
    assert isinstanceof(TeamUser, Type[User])
    assert not isinstanceof(str, Type[User])
    assert isinstanceof(str, Type[Any])
Пример #2
0
def test_any():
    assert isinstanceof(None, Any)
    assert isinstanceof(1, Any)
    assert isinstanceof('1', Any)
Пример #3
0
def test_example_global_isinstanceof():
    from typing import Union
    from istype import isinstanceof

    assert isinstanceof(1, Union[int, str])
Пример #4
0
def test_tuple():
    assert isinstanceof((1, '1'), Tuple[int, str])
    assert not isinstanceof((1, 1), Tuple[int, str])
Пример #5
0
def test_list_generic_empty():
    assert isinstanceof([], typing.List[int])
Пример #6
0
def test_union():
    assert isinstanceof(1, Union[int])
    assert isinstanceof(1, Union[int, str])
    assert isinstanceof(1, Union[int, Union[float, str]])
Пример #7
0
def test_optional():
    assert isinstanceof('1', Optional[str])
    assert isinstanceof(None, Optional[str])
    assert not isinstanceof(1, Optional[str])
Пример #8
0
def test_collection_generic_empty():
    assert isinstanceof([], typing.Collection[int])
Пример #9
0
def test_iterable_generic_empty():
    assert isinstanceof([], typing.Iterable[int])
Пример #10
0
def test_frozenset():
    assert isinstanceof(frozenset([1, '2']), frozenset)
Пример #11
0
def test_frozenset_generic():
    assert isinstanceof(frozenset([1, 2]), typing.FrozenSet[int])
    assert not isinstanceof(frozenset([1, '2']), typing.FrozenSet[int])
Пример #12
0
def test_set_generic():
    assert isinstanceof(set([1, 2]), typing.Set[int])
    assert not isinstanceof(set([1, '2']), typing.Set[int])
Пример #13
0
def test_set():
    assert isinstanceof(set([1, '2']), set)
Пример #14
0
def test_list_generic():
    assert isinstanceof([1, 1], typing.List[int])
    assert not isinstanceof([1, '1'], typing.List[int])
    assert isinstanceof([1, '1'], typing.List[object])
Пример #15
0
def test_anystr():
    assert not isinstanceof(None, AnyStr)
    assert not isinstanceof([1, '1'], AnyStr)
    assert isinstanceof('1', AnyStr)
    assert isinstanceof(b'1', AnyStr)
Пример #16
0
def test_dict():
    assert isinstanceof({'2': 1}, dict)
Пример #17
0
def test_class_var():
    assert not isinstanceof(None, ClassVar[int])
    assert isinstanceof(1, ClassVar[int])
    assert not isinstanceof(1, ClassVar[str])
Пример #18
0
def test_dict_generic():
    assert isinstanceof({1: '2'}, typing.Dict[int, str])
    assert not isinstanceof({'2': 1}, typing.Dict[int, str])
Пример #19
0
def test_union_complex():
    assert isinstanceof([1], Union[int, List[int]])
Пример #20
0
def test_mutable_mapping():
    assert isinstanceof({'2': 1}, collections.abc.MutableMapping)
Пример #21
0
def test_optional_with_union():
    assert isinstanceof('1', Optional[Union[str, int]])
    assert isinstanceof(1, Optional[Union[str, int]])
    assert isinstanceof(None, Optional[Union[str, int]])
    assert not isinstanceof(1.1, Optional[Union[str, int]])
Пример #22
0
def test_mutable_mapping_generic():
    assert isinstanceof({1: '2'}, typing.MutableMapping[int, str])
    assert not isinstanceof({'2': 1}, typing.MutableMapping[int, str])
Пример #23
0
def checked_cast(type: Type[_T], obj: Any) -> _T:
    """
    Method for executing a safe cast in python
    """
    assert istype.isinstanceof(obj, type)
    return obj  # type: ignore
Пример #24
0
def test_list():
    assert isinstanceof([], list) is isinstance([], list)