示例#1
0
        public void Should_have_error_Rover_Outside_Map_Border_UpperRight()
        {
            RoverMapValidator roverMapValidator = new RoverMapValidator(upperRightPointModel);
            IRoverModel       roverModel        = new RectangleRoverModel();

            roverModel.X = upperRightPointModel.X;
            roverModel.Y = upperRightPointModel.Y;

            var validator = roverMapValidator.Validate(roverModel);

            Assert.AreEqual(true, validator.IsValid, validator.Errors.FirstOrDefault()?.ErrorMessage);
        }
示例#2
0
        private static RectangleRoverModel GetRoverInput(IPointModel upperRight)
        {
            RectangleRoverModel          rectangleRoverModel = new RectangleRoverModel();
            RectangleRoverInputValidator validator           = new RectangleRoverInputValidator();
            RoverMapValidator            roverMapValidator   = new RoverMapValidator(upperRight);
            string rectangleRoverInput;

            do
            {
                do
                {
                    Consol.WriteColor(ConsoleColor.Red, ConsoleApp.Properties.Resources.RoverInputLabel);
                    rectangleRoverInput = Console.ReadLine().Trim();
                } while (CommonValidateInfo(validator, rectangleRoverInput));

                string[] values = rectangleRoverInput.Trim().Split(new string[] { " " }, StringSplitOptions.RemoveEmptyEntries);
                rectangleRoverModel.X         = Convert.ToInt32(values[0]);
                rectangleRoverModel.Y         = Convert.ToInt32(values[1]);
                rectangleRoverModel.Direction = Enum.Parse <DirectionType>(values[2].ToUpperInvariant());
            } while (CommonValidateInfo(roverMapValidator, rectangleRoverModel));

            return(rectangleRoverModel);
        }