using Models;
using Models.Game;

namespace Tests;

public class MapTests
{
    [Fact]
    public void Map_Initialization_SetsBackground()
    {
        string background = "test_background";
        
        var map = new Map(background);
        
        Assert.Equal(background, map.Background);
    }

    [Fact]
    public void Map_Initialization_InitializesBoards()
    {
        string background = "test_background";
        
        var map = new Map(background);
        
        Assert.Equal(36, map.Boards.Count);
        for (int i = 0; i < 36; i++)
        {
            Assert.Equal(new Cell(i / 6, i % 6), map.Boards[i]);
        }
    }

    [Fact]
    public void Map_Initialization_InitializesRopePathsAndZones()
    {
        string background = "test_background";
        
        var map = new Map(background);
        
        Assert.NotNull(map.RopePaths);
        Assert.NotNull(map.Zones);
        Assert.Empty(map.RopePaths);
        Assert.Empty(map.Zones);
    }
}
