Example #1
0
        public void CalculateLeftAdjacent_FindsTheLeftLocationAndIncrementsTheLocationValue_SetsTheGridPanelToNewCorrectStatus()
        {
            // arrange

            var actualGrid = new int[, ]
            {
                { GridPanelConstantValues.Mine, 0, 0 },
                { 0, 0, GridPanelConstantValues.Mine }
            };

            var actualGridPanel = new GridPanel(2, 3);

            TestTool.ArrangeInputs(actualGridPanel, actualGrid);

            // act

            IAdjacentCalculator adjacentCalculator = new AdjacentCalculator(actualGridPanel);

            adjacentCalculator.CalculateLeftAdjacent(new Location {
                Row = 1, Column = 2
            });

            // assert

            var expectedGrid = new int[, ]
            {
                { GridPanelConstantValues.Mine, 0, 0 },

                { 0, 1, GridPanelConstantValues.Mine }
            };

            TestTool.AssertOutputs(actualGridPanel, expectedGrid);
        }
Example #2
0
    public string ReturnPositionSymbol(Position currentPosition, List <Position> mineLocations)
    {
        string answer;

        if (currentPosition.Symbol == "*")
        {
            answer = currentPosition.Symbol.ToString();
        }
        else
        {
            AdjacentCalculator adjacentCalculator = new AdjacentCalculator();

            answer = adjacentCalculator.GetNumberOfAdjacentMines(currentPosition, mineLocations);
        }

        return(answer);
    }