mirror of https://github.com/JoshKarpel/spiel
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
30 lines
909 B
Python
30 lines
909 B
Python
from hypothesis import HealthCheck, given, settings
|
|
from hypothesis.strategies import slices
|
|
|
|
from spiel import Deck, Slide
|
|
|
|
|
|
def test_can_add_slide_to_deck(three_slide_deck: Deck) -> None:
|
|
initial_len = len(three_slide_deck)
|
|
new_slide = Slide()
|
|
|
|
three_slide_deck.add_slides(new_slide)
|
|
|
|
assert len(three_slide_deck) == initial_len + 1
|
|
assert three_slide_deck[-1] is new_slide
|
|
|
|
|
|
def test_iterate_yields_deck_slides(three_slide_deck: Deck) -> None:
|
|
assert list(iter(three_slide_deck)) == three_slide_deck._slides
|
|
|
|
|
|
def test_deck_contains_its_slides(three_slide_deck: Deck) -> None:
|
|
for slide in three_slide_deck:
|
|
assert slide in three_slide_deck
|
|
|
|
|
|
@settings(suppress_health_check=[HealthCheck.function_scoped_fixture])
|
|
@given(s=slices(size=3))
|
|
def test_index_with_slice(three_slide_deck: Deck, s: slice) -> None:
|
|
assert three_slide_deck[s] == three_slide_deck._slides[s]
|