public void GetValidMoves_DetectsWhenOnEdge(string position, string targetSq, string expectedSq) { var fen = new FenSerializer(); var board = fen.Deserialize(position); var target = MoveParser.ParseSquare(targetSq); var targetMask = BitTranslator.TranslateToBit(target.File, target.Rank); var validMovesMask = MoveGenerator.GetBishopMovements(targetMask, board); var validMoves = BitTranslator.TranslateToSquares(validMovesMask); var expected = MoveParser.ParseSquare(expectedSq); Assert.That(validMoves, Does.Contain(expected)); }