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}"