< Summary - Code Coverage

Information
Class: LittleTown.Core.Board
Assembly: LittleTown.Core
File(s): /workspace/mcmuzzle/LittleTown/src/LittleTown.Core/Aggregates/BoardAggregate/Board.cs
Tag: 220_1454
Line coverage
100%
Covered lines: 14
Uncovered lines: 0
Coverable lines: 14
Total lines: 58
Line coverage: 100%
Branch coverage
100%
Covered branches: 18
Total branches: 18
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
get_Width()100%11100%
get_Height()100%11100%
get_Tiles()100%11100%
GetTile(...)100%88100%
GetArea(...)100%1010100%

File(s)

/workspace/mcmuzzle/LittleTown/src/LittleTown.Core/Aggregates/BoardAggregate/Board.cs

#LineLine coverage
 1using System.Text.Json.Serialization;
 2
 3namespace LittleTown.Core;
 4
 5/// <summary>
 6/// Represente un plateau de jeu dans un match
 7/// Le plateau de littleTown est constitué 9 X 6 cases
 8/// Chaque case est a un type et peut ou pas contenir un batiment
 9/// /// </summary>
 10public class Board
 11{
 12    /// <summary> Nombre de colonne dans le plateau </summary>
 9813    public int Width { get; init; }
 14    /// <summary> Nombre de rangée dans le plateau </summary>
 6015    public int Height { get; init; }
 16
 17
 18    [JsonInclude]
 7419    private Tile[] Tiles { get; init; } = new Tile[1];
 20
 21    /// <summary>
 22    /// Permet de récupéré une tile sur le plateau, le 0,0 étant le bas gauche du plateau, x sur la largeur et y la haut
 23    /// </summary>
 24    /// <param name="x">la colonne de la tile partant de la gauche a 0</param>
 25    /// <param name="y">ligne de la tile partant du bas a 0</param>
 26    /// <returns>la tile</returns>
 27    public Tile? GetTile(int x, int y)
 28    {
 5029        if (x < 0 || x >= Width || y < 0 || y >= Height)
 1630            return null;
 31
 3432        return Tiles[x + y * Width];
 33    }
 34
 35    /// <summary>Permet de recuperer la liste des tiles autour de la position en parametre </summary>
 36    /// <param name="x">la colonne au centre de la zone</param>
 37    /// <param name="y">la rangée du centre de la zone</param>
 38    /// <returns>une liste des tiles contenant entre 3(coin) et 8(centre) tiles</returns>
 39    public ICollection<Tile> GetArea(int x, int y)
 40    {
 641        List<Tile> result = new List<Tile>();
 4842        for (int ix = -1; ix <= 1; ix++)
 43        {
 14444            for (int iy = -1; iy <= 1; iy++)
 45            {
 5446                if (iy != 0 || ix != 0)
 47                {
 4848                    Tile? t = GetTile(x + ix, y + iy);
 4849                    if (null != t)
 50                    {
 3251                        result.Add((Tile)t);
 52                    }
 53                }
 54            }
 55        }
 656        return result;
 57    }
 58}