75 lines
1.7 KiB
Python
75 lines
1.7 KiB
Python
from __future__ import annotations
|
|
|
|
|
|
def test_package_import():
|
|
import blokus_gym
|
|
assert blokus_gym.__version__ == "0.1.0"
|
|
|
|
|
|
def test_core_imports():
|
|
from blokus_gym import BlokusGame, Board, Move
|
|
assert Board is not None
|
|
assert BlokusGame is not None
|
|
assert Move is not None
|
|
|
|
|
|
def test_env_imports():
|
|
from blokus_gym import BlokusEnv, BlokusMultiAgentEnv
|
|
assert BlokusEnv is not None
|
|
assert BlokusMultiAgentEnv is not None
|
|
|
|
|
|
def test_wrapper_imports():
|
|
from blokus_gym import ActionMaskWrapper
|
|
assert ActionMaskWrapper is not None
|
|
|
|
|
|
def test_piece_imports():
|
|
from blokus_gym import (
|
|
DUO_PIECES,
|
|
JUNIOR_PIECES,
|
|
STANDARD_PIECES,
|
|
Piece,
|
|
PieceSet,
|
|
)
|
|
assert len(STANDARD_PIECES) == 21
|
|
assert len(DUO_PIECES) > 0
|
|
assert len(JUNIOR_PIECES) > 0
|
|
assert Piece is not None
|
|
assert PieceSet is not None
|
|
|
|
|
|
def test_bot_imports():
|
|
from blokus_gym import GreedyBot, GreedyCornersBot, MinimaxBot, RandomBot
|
|
assert RandomBot is not None
|
|
assert GreedyBot is not None
|
|
assert GreedyCornersBot is not None
|
|
assert MinimaxBot is not None
|
|
|
|
|
|
def test_all_exports():
|
|
import blokus_gym
|
|
expected = [
|
|
"BlokusEnv",
|
|
"BlokusMultiAgentEnv",
|
|
"ActionMaskWrapper",
|
|
"Board",
|
|
"BlokusGame",
|
|
"Move",
|
|
"Piece",
|
|
"PieceOrientation",
|
|
"PieceSet",
|
|
"STANDARD_PIECES",
|
|
"DUO_PIECES",
|
|
"JUNIOR_PIECES",
|
|
"generate_orientations",
|
|
"Bot",
|
|
"RandomBot",
|
|
"GreedyBot",
|
|
"GreedyCornersBot",
|
|
"MinimaxBot",
|
|
"__version__",
|
|
]
|
|
for name in expected:
|
|
assert hasattr(blokus_gym, name), f"Missing export: {name}"
|