コード例 #1
0
        public void WhenInputCorrectReturnDimensionsObject()
        {
            // Arrange
            var input           = "3 4";
            var systemUnderTest = new RobotWars.Utils.Parser();

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

            // Assert
            result.Should().BeOfType <Dimensions>();
            result.X.Should().Be(3);
            result.Y.Should().Be(4);
        }
コード例 #2
0
        public void WhenInputCorrectReturnPositionObject()
        {
            // Arrange
            var input           = "1 2 E";
            var systemUnderTest = new RobotWars.Utils.Parser();

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

            // Assert
            result.Should().BeOfType <Position>();
            result.X.Should().Be(1);
            result.Y.Should().Be(2);
            result.Heading.Should().Be(Heading.E);
        }
コード例 #3
0
        public void WhenInputCorrectReturnCommandsList()
        {
            // Arrange
            var input           = "RRLMM";
            var systemUnderTest = new RobotWars.Utils.Parser();

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

            // Assert
            result.Should().BeOfType <List <ICommand> >();
            result.Count.Should().Be(5);
            result[0].Should().BeOfType <RightCommand>();
            result[1].Should().BeOfType <RightCommand>();
            result[2].Should().BeOfType <LeftCommand>();
            result[3].Should().BeOfType <MoveCommand>();
            result[4].Should().BeOfType <MoveCommand>();
        }
コード例 #4
0
        public void WhenInputCorrectreturnPositionString()
        {
            // Arrange
            var input = new List <Position>()
            {
                new Position(1, 2, Heading.N),
                new Position(3, 4, Heading.W),
            };
            var systemUnderTest = new RobotWars.Utils.Parser();

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

            // Assert
            result.Should().BeOfType <string>();
            var split = result.Split('\n');

            result.Split('\n').Length.Should().Be(2);
            result.Split('\n')[0].Should().Be("1 2 N");
            result.Split('\n')[1].Should().Be("3 4 W");
        }