diff options
Diffstat (limited to 'tests/conftest.py')
-rw-r--r-- | tests/conftest.py | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/tests/conftest.py b/tests/conftest.py new file mode 100644 index 0000000..85d2ec3 --- /dev/null +++ b/tests/conftest.py @@ -0,0 +1,24 @@ +from typing import Any, Callable, TypeVar + +import pytest +from mypy_extensions import KwArg + +from poker.constants import Suit, Value +from poker.models import Card + +T = TypeVar("T") +Factory = Callable[[KwArg(Any)], T] + + +@pytest.fixture(scope="session") +def card_factory() -> Factory[Card]: + """Get Card object factory.""" + default = { + "suit": Suit.CLUBS, + "value": Value.ACE, + } + + def factory(**kwargs: Any) -> Card: + return Card(**(default | kwargs)) + + return factory |