CoolFace
Apppublic

RohanExploit/Meta-hackathon

sourceHugging Faceupdated 5mo agoView on Hugging Face
0likes
test_env.py64 linesDownload Raw Back to root
1import sys2sys.path.insert(0, '.')3 4from environment.retail_env import MultiChannelRetailEnv5from environment.models import RetailAction, ActionType, OrderAction6import json7 8def test_environment():9    print("Testing Retail Inventory Environment...")10    11    # Create environment12    env = MultiChannelRetailEnv(seed=42)13    14    # Define a simple task configuration15    task_config = {16        "products": ["Widget"],17        "initial_inventory": {"Widget": 10},18        "initial_cash": 100.0,19        "base_demand_luxury": {"Widget": 1.0},20        "base_demand_budget": {"Widget": 2.0},21        "product_costs": {"Widget": 5.0},22        "holding_costs": {"Widget": 0.1},23        "max_inventory": {"Widget": 100},24        "initial_prices_luxury": {"Widget": 10.0},25        "initial_prices_budget": {"Widget": 7.0},26        "price_bounds": {"Widget": {"min": 5.5, "max": 15.0}},27    }28    29    # Reset environment30    obs = env.reset(task_config)31    print(f"Initial observation: {obs}")32    33    # Test a few steps34    for i in range(3):35        print(f"\n--- Step {i+1} ---")36        37        # Create a simple action: order 2 widgets38        action = OrderAction(39            action=ActionType.ORDER,40            product="Widget",41            quantity=242        )43        44        # Take step45        obs, reward, done, info = env.step(action)46        print(f"Action: {action}")47        print(f"Observation: {obs}")48        print(f"Reward: {reward}")49        print(f"Done: {done}")50        print(f"Info: {info}")51        52        if done:53            print("Episode finished!")54            break55    56    # Test state method57    state = env.get_state()58    print(f"\nFull state: {state}")59    60    print("\nEnvironment test completed successfully!")61 62if __name__ == "__main__":63    test_environment()64