Beispiel #1
0
        public void ParseLowerTaxaCommand_WithNullParser_ShouldThrowArgumentNullExceptionWithCorrectParamName()
        {
            // Arrange + Act + Assert
            var exception = Assert.Throws <ArgumentNullException>(() =>
            {
                var command = new ParseLowerTaxaCommand(null);
            });

            Assert.AreEqual(ParameterNames.Parser, exception.ParamName, "ParamName is not correct.");
        }
Beispiel #2
0
        public void ParseLowerTaxaCommand_RunWithNullDocumentAndNullProgramSettings_ShouldThrowArgumentNullException()
        {
            // Arrange
            var parserMock = new Mock <ILowerTaxaParser>();
            var command    = new ParseLowerTaxaCommand(parserMock.Object);

            // Act + Assert
            var exception = Assert.ThrowsAsync <ArgumentNullException>(() =>
            {
                return(command.Run(null, null));
            });

            parserMock.Verify(p => p.Parse(It.IsAny <XmlNode>()), Times.Never);
        }
Beispiel #3
0
        public void ParseLowerTaxaCommand_RunWithValidDocumentAndNullProgramSettings_ShouldThrowArgumentNullExceptionWithCorrectParamName()
        {
            // Arrange
            var parserMock   = new Mock <ILowerTaxaParser>();
            var command      = new ParseLowerTaxaCommand(parserMock.Object);
            var documentMock = new Mock <IDocument>();

            // Act + Assert
            var exception = Assert.ThrowsAsync <ArgumentNullException>(() =>
            {
                return(command.Run(documentMock.Object, null));
            });

            Assert.AreEqual(ParameterNames.Settings, exception.ParamName, "ParamName is not correct.");

            parserMock.Verify(p => p.Parse(It.IsAny <XmlNode>()), Times.Never);
        }
Beispiel #4
0
        public void ParseLowerTaxaCommand_WithValidParser_ShouldCorrectlyInitializeObject()
        {
            // Arrange + Act
            var parserMock = new Mock <ILowerTaxaParser>();
            var command    = new ParseLowerTaxaCommand(parserMock.Object);

            // Assert
            Assert.IsNotNull(command, "Initialized Command object should not be null.");

            var parser = PrivateField.GetInstanceField(
                typeof(ParseLowerTaxaCommand).BaseType,
                command,
                ParameterNames.Parser);

            Assert.IsNotNull(parser, "Private parser field should not be null.");
            Assert.AreSame(parserMock.Object, parser, "Private parser field should not be set correctly.");
        }
Beispiel #5
0
        public async Task ParseLowerTaxaCommand_RunWithValidDocumentAndValidProgramSettings_ShouldCallParserWithCorrectParameter()
        {
            // Arrange
            var parserMock   = new Mock <ILowerTaxaParser>();
            var command      = new ParseLowerTaxaCommand(parserMock.Object);
            var settingsMock = new Mock <ICommandSettings>();
            var documentMock = new Mock <IDocument>();

            var xmldocumentStub = new XmlDocument();

            xmldocumentStub.LoadXml("<a />");

            documentMock
            .SetupGet(d => d.XmlDocument)
            .Returns(xmldocumentStub);

            // Act
            var result = await command.Run(documentMock.Object, settingsMock.Object);

            // Assert
            parserMock.Verify(p => p.Parse(It.IsAny <XmlNode>()), Times.Once);
            parserMock.Verify(p => p.Parse(xmldocumentStub.DocumentElement), Times.Once);
        }