示例#1
0
        public void WhenInputIsCorrectCallParseDimensions()
        {
            // Arrange
            var parser          = Substitute.For <IParser>();
            var systemUnderTest = new RobotWars.RobotWarsProcessor(parser);

            // Act
            systemUnderTest.Process(input);

            // Assert
            parser.Received(1).ParseDimensions("5 5");
        }
示例#2
0
        public void WhenInputIsCorrectCallParsePosition()
        {
            // Arrange
            var parser = Substitute.For <IParser>();

            parser.ParseCommands(Arg.Any <string>()).Returns(new List <ICommand>());

            var systemUnderTest = new RobotWars.RobotWarsProcessor(parser);

            // Act
            systemUnderTest.Process(input);

            // Assert
            parser.Received(2).ParsePosition(Arg.Any <string>());
        }
示例#3
0
        public void WhenInputIsIncorrectReturnErrorMessage()
        {
            // Arrange
            var parser = Substitute.For <IParser>();

            parser.ParsePosition(Arg.Any <string>()).Returns(x =>
                                                             throw new Exception("Exception"));
            var systemUnderTest = new RobotWars.RobotWarsProcessor(parser);


            // Act
            var result = systemUnderTest.Process(input);

            // Assert
            result.Should().Contain("Input is not in a correct format");
        }
        public void TestInput()
        {
            // Arrange

            const string input  = @"5 5
                                    1 2 N
                                    LMLMLMLMM
                                    3 3 E
                                    MMRMMRMRRM";
            const string output = "1 3 N\n5 1 E";

            var robotWars = new RobotWars.RobotWarsProcessor(new Parser());

            // Act
            var result = robotWars.Process(input);

            // Assert
            result.Should().Be(output);
        }