示例#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])
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])
def test_collection_generic_empty():
    assert isinstanceof([], typing.Collection[int])
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)