< Summary

Information
Class: BallSort.Engine.Logic.BoardHasher
Assembly: BallSort.Engine
File(s): /home/runner/work/BallSort/BallSort/src/BallSort.Engine/Logic/BoardHasher.cs
Tag: 216
Line coverage
100%
Covered lines: 10
Uncovered lines: 0
Coverable lines: 10
Total lines: 32
Line coverage: 100%
Branch coverage
100%
Covered branches: 4
Total branches: 4
Branch coverage: 100%
Method coverage

Feature is only available for sponsors

Upgrade to PRO version

Metrics

MethodBranch coverage Crap Score Cyclomatic complexity Line coverage
.ctor(...)100%11100%
GetHash()100%44100%

File(s)

/home/runner/work/BallSort/BallSort/src/BallSort.Engine/Logic/BoardHasher.cs

#LineLine coverage
 1using BallSort.Engine.Game;
 2
 3namespace BallSort.Engine.Logic;
 4
 5public class BoardHasher
 6{
 7    private readonly Board _board;
 8
 269    public BoardHasher(Board board)
 10    {
 2611        _board = board;
 2612    }
 13
 14    public ulong[] GetHash()
 15    {
 1056216        var hash = new ulong[_board.Width];
 17
 32464818        for (var x = 0; x < _board.Width; x++)
 19        {
 15176220            var column = _board.GetColumn(x);
 21
 166386822            for (var y = 0; y < _board.Height; y++)
 23            {
 68017224                hash[x] |= (ulong) column[y] << (y * 5);
 25            }
 26        }
 27
 1056228        Array.Sort(hash);
 29
 1056230        return hash;
 31    }
 32}