Example #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])
Example #2
0
def test_any():
    assert isinstanceof(None, Any)
    assert isinstanceof(1, Any)
    assert isinstanceof('1', Any)
Example #3
0
def test_example_global_isinstanceof():
    from typing import Union
    from istype import isinstanceof

    assert isinstanceof(1, Union[int, str])
Example #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])
Example #6
0
def test_union():
    assert isinstanceof(1, Union[int])
    assert isinstanceof(1, Union[int, str])
    assert isinstanceof(1, Union[int, Union[float, str]])
Example #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])
def test_frozenset():
    assert isinstanceof(frozenset([1, '2']), frozenset)
def test_frozenset_generic():
    assert isinstanceof(frozenset([1, 2]), typing.FrozenSet[int])
    assert not isinstanceof(frozenset([1, '2']), typing.FrozenSet[int])
def test_set_generic():
    assert isinstanceof(set([1, 2]), typing.Set[int])
    assert not isinstanceof(set([1, '2']), typing.Set[int])
def test_set():
    assert isinstanceof(set([1, '2']), set)
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])
Example #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)
def test_dict():
    assert isinstanceof({'2': 1}, dict)
Example #17
0
def test_class_var():
    assert not isinstanceof(None, ClassVar[int])
    assert isinstanceof(1, ClassVar[int])
    assert not isinstanceof(1, ClassVar[str])
def test_dict_generic():
    assert isinstanceof({1: '2'}, typing.Dict[int, str])
    assert not isinstanceof({'2': 1}, typing.Dict[int, str])
Example #19
0
def test_union_complex():
    assert isinstanceof([1], Union[int, List[int]])
def test_mutable_mapping():
    assert isinstanceof({'2': 1}, collections.abc.MutableMapping)
Example #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]])
def test_mutable_mapping_generic():
    assert isinstanceof({1: '2'}, typing.MutableMapping[int, str])
    assert not isinstanceof({'2': 1}, typing.MutableMapping[int, str])
Example #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
def test_list():
    assert isinstanceof([], list) is isinstance([], list)