aboutsummaryrefslogtreecommitdiff
path: root/tests/conftest.py
diff options
context:
space:
mode:
Diffstat (limited to 'tests/conftest.py')
-rw-r--r--tests/conftest.py24
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