示例#1
0
        public void Validate_ValidParameters_ValidValidationResult()
        {
            var documentProcessorStub = new Mock <IDocumentProcessor>();
            var command        = new CommandForTest(documentProcessorStub.Object);
            var commandText    = "print";
            var commandSubject = new DocumentIdSubject {
                Id = "test"
            };
            var modifiers = new[] { new Modifier {
                                        Name = "decrypt"
                                    } };

            command.SetParameters(commandText, commandSubject, modifiers);
            var validationResult = command.Validate();

            Assert.True(validationResult.IsValid);
            Assert.Null(validationResult.ValidationMessage);
        }
示例#2
0
        public void Validate_DuplicatedParameters_InvalidValidationResult()
        {
            var documentProcessorStub = new Mock <IDocumentProcessor>();
            var command        = new CommandForTest(documentProcessorStub.Object);
            var commandText    = "print";
            var commandSubject = new DocumentIdSubject {
                Id = "test"
            };
            var modifiers = new[] { new Modifier {
                                        Name = "decrypt"
                                    }, new Modifier {
                                        Name = "decrypt"
                                    } };

            command.SetParameters(commandText, commandSubject, modifiers);
            var validationResult = command.Validate();

            Assert.False(validationResult.IsValid);
            Assert.Equal("Invalid command modifiers: duplicates found", validationResult.ValidationMessage);
        }
示例#3
0
        public void Validate_InvalidParameters_InvalidValidationResult()
        {
            var documentProcessorStub = new Mock <IDocumentProcessor>();
            var command        = new CommandForTest(documentProcessorStub.Object);
            var commandText    = CommandType.GetContent.ToString();
            var commandSubject = new DocumentIdSubject {
                Id = "test"
            };
            var modifiers = new[] { new Modifier {
                                        Name = "decrypt"
                                    }, new Modifier {
                                        Name = "encrypt"
                                    } };

            command.SetParameters(commandText, commandSubject, modifiers);
            var validationResult = command.Validate();

            Assert.False(validationResult.IsValid);
            Assert.Equal($"Invalid command modifiers: parameter 'encrypt' can't be used with the '{CommandType.GetContent.ToString().ToLower()}' command", validationResult.ValidationMessage);
        }