public void WillReturnEmptyListCellHasAValue()
            {
                int[,] data = {
                {9,0,0, 0,0,5, 6,8,1 },
                {0,6,0, 2,8,0, 7,0,0 },
                {0,0,0, 0,0,6, 9,0,5 },
                {0,8,0, 0,0,2, 0,4,6 },
                {0,0,5, 0,0,0, 3,0,0 },
                {1,9,0, 5,0,0, 0,7,0 },
                {8,0,2, 9,0,0, 0,0,0 },
                {0,0,9, 0,2,7, 0,6,0 },
                {6,7,4, 8,0,0, 0,0,3 }
                };

                IBoardCells boardCells = new BoardCells(new Board(data));
                SimpleMoveFinder moveFinder = new SimpleMoveFinder();

                var cellMoves = moveFinder.GetMovesForCell(boardCells, 0, 0);
                Assert.Equal(0, cellMoves.Moves.Count);

                cellMoves = moveFinder.GetMovesForCell(boardCells, 8, 8);
                Assert.Equal(0, cellMoves.Moves.Count);
            }
            public void WilLReturnMoves()
            {
                int[,] data = {
                {9,0,0, 0,0,5, 6,8,1 },
                {0,6,0, 2,8,0, 7,0,0 },
                {0,0,0, 0,0,6, 9,0,5 },
                {0,8,0, 0,0,2, 0,4,6 },
                {0,0,5, 0,0,0, 3,0,0 },
                {1,9,0, 5,0,0, 0,7,0 },
                {8,0,2, 9,0,0, 0,0,0 },
                {0,0,9, 0,2,7, 0,6,0 },
                {6,7,4, 8,0,0, 0,0,3 }
                };

                IBoardCells boardCells = new BoardCells(new Board(data));
                SimpleMoveFinder moveFinder = new SimpleMoveFinder();

                var cellMoves = moveFinder.GetMovesForCell(boardCells, 0, 1);
                // 2,3,4
                int[] expectedValues = new int[] { 2, 3, 4 };
                Assert.Equal(expectedValues.Length, cellMoves.Moves.Count);

                foreach (IMove move in cellMoves.Moves) {
                    Assert.True(expectedValues.Contains(move.Value));
                }

                cellMoves = moveFinder.GetMovesForCell(boardCells, 8, 7);
                expectedValues = new int[] { 1, 2, 5, 9 };
                // 1,2,5,9
                Assert.Equal(4, cellMoves.Moves.Count);
                foreach (IMove move in cellMoves.Moves) {
                    Assert.True(expectedValues.Contains(move.Value));
                }
            }