示例#1
0
        public void MultipleCoordinatesOfCellIndicesSeperatedBySpacesIsConvertedToCoordinates()
        {
            List <Location> expectedOutput = new List <Location> {
                new Location(1, 2), new Location(5, 6)
            };
            var inputString = "1,2 5,6";

            Assert.True(ListValuesAreTheSame(expectedOutput, converter.ConvertStartingGenerationInputToLocations(inputString)));
        }
        private void LoopUntilValidInitialStateIsSet()
        {
            bool initialStateSet = false;

            do
            {
                var initalState = GetInitialStateFromUser();
                if (initalState.Length > 0)
                {
                    try
                    {
                        _gameGrid.SeedGridState(_inputConverter.ConvertStartingGenerationInputToLocations(initalState));
                        initialStateSet = true;
                    }
                    catch (FormatException)
                    {
                        _ui.Print(MessageConstants.InitialGridStateFormatException);
                    }
                    catch (IndexOutOfRangeException)
                    {
                        _ui.Print(MessageConstants.InitialGridStateOutOfRangeException);
                    }
                }
                else
                {
                    initialStateSet = true;//no live cells set
                }
            } while (!initialStateSet);
        }