Exemple #1
0
        public void Should_throw_an_exception_for_invalid_commands(string segmentText)
        {
            var mockCommandRoute = new Mock <ICommandRoute>();

            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            Assert.Throws <Exception>(() => {
                commandRouteBuilder.ParseRoute(mockCommandRoute.Object);
            });
        }
        public void Should_parse_constant_command(string segmentText)
        {
            var mockCommandRoute = new Mock<ICommandRoute>();
            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            commandRouteBuilder.ParseRoute(mockCommandRoute.Object);

            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny<ISegment>()), Times.Never);
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<ISegment>()), Times.Once);
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<ConstantSegment>()), Times.Once);
        }
Exemple #3
0
        public void Should_parse_variable_command(string segmentText)
        {
            var mockCommandRoute = new Mock <ICommandRoute>();

            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            commandRouteBuilder.ParseRoute(mockCommandRoute.Object);

            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny <ISegment>()), Times.Never);
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny <ISegment>()), Times.Exactly(1));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny <VariableSegement>()), Times.Once);
        }
Exemple #4
0
        public void Should_parse_constant_and_flag_command(string segmentText)
        {
            var mockCommandRoute = new Mock <ICommandRoute>();

            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            commandRouteBuilder.ParseRoute(mockCommandRoute.Object);

            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny <ISegment>()), Times.Exactly(2));
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny <FlagSegment>()), Times.Once);
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny <FlagValueSegment>()), Times.Once);
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny <ISegment>()), Times.Once);
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny <ConstantSegment>()), Times.Once);
        }
        public void Should_parse_constant_variable_and_flag_command(string segmentText)
        {
            var mockCommandRoute = new Mock<ICommandRoute>();
            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            commandRouteBuilder.ParseRoute(mockCommandRoute.Object);

            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny<ISegment>()), Times.Exactly(2));
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny<FlagSegment>()), Times.Once);
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny<FlagValueSegment>()), Times.Once);
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<ISegment>()), Times.Exactly(2));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<ConstantSegment>()), Times.Once);
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<VariableSegement>()), Times.Once);
        }
Exemple #6
0
        public void Should_parse_multiple_variables_constants_and_flags(string segmentText, int constantCount, int variableCount, int flagCount)
        {
            var mockCommandRoute = new Mock <ICommandRoute>();

            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            commandRouteBuilder.ParseRoute(mockCommandRoute.Object);

            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny <ISegment>()), Times.Exactly(flagCount * 2));
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny <FlagSegment>()), Times.Exactly(flagCount));
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny <FlagValueSegment>()), Times.Exactly(flagCount));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny <ISegment>()), Times.Exactly(variableCount + constantCount));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny <ConstantSegment>()), Times.Exactly(constantCount));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny <VariableSegement>()), Times.Exactly(variableCount));
        }
        public void Should_throw_an_exception_for_invalid_commands(string segmentText)
        {
            var mockCommandRoute = new Mock<ICommandRoute>();
            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            Assert.Throws<Exception>(() => {
                commandRouteBuilder.ParseRoute(mockCommandRoute.Object);
            });
        }
        public void Should_parse_multiple_variables_constants_and_flags(string segmentText, int constantCount, int variableCount, int flagCount)
        {
            var mockCommandRoute = new Mock<ICommandRoute>();
            mockCommandRoute.Setup(x => x.CommandTemplate).Returns(segmentText);

            var commandRouteBuilder = new DefaultCommandRouteBuilder();

            commandRouteBuilder.ParseRoute(mockCommandRoute.Object);

            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny<ISegment>()), Times.Exactly(flagCount * 2));
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny<FlagSegment>()), Times.Exactly(flagCount));
            mockCommandRoute.Verify(x => x.AddOptionalSegment(It.IsAny<FlagValueSegment>()), Times.Exactly(flagCount));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<ISegment>()), Times.Exactly(variableCount + constantCount));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<ConstantSegment>()), Times.Exactly(constantCount));
            mockCommandRoute.Verify(x => x.AddSegment(It.IsAny<VariableSegement>()), Times.Exactly(variableCount));
        }