2021-03-22 12:24:21 -03:00

39 lines
1.1 KiB
Python

import random
from typing import Iterable, TYPE_CHECKING, List
from erp import EnterpriserRandomPopper
import randompop
def test_issubclass() -> None:
assert issubclass(EnterpriserRandomPopper, randompop.RandomPopper)
def test_isinstance_untyped_items_argument() -> None:
items = [1, 2, 3]
popper = EnterpriserRandomPopper(items) # [int] is not required
if TYPE_CHECKING:
reveal_type(popper)
# Revealed type is 'erp.EnterpriserRandomPopper[builtins.int*]'
assert isinstance(popper, randompop.RandomPopper)
def test_isinstance_untyped_items_in_var_type() -> None:
items = [1, 2, 3]
popper: EnterpriserRandomPopper = EnterpriserRandomPopper[int](items)
if TYPE_CHECKING:
reveal_type(popper)
# Revealed type is 'erp.EnterpriserRandomPopper[Any]'
assert isinstance(popper, randompop.RandomPopper)
def test_isinstance_item() -> None:
items = [1, 2, 3]
popper = EnterpriserRandomPopper[int](items) # [int] is not required
popped = popper.pop_random()
if TYPE_CHECKING:
reveal_type(popped)
# Revealed type is 'builtins.int*'
assert isinstance(popped, int)