public void ParseReferencesCommand_WithNullParser_ShouldThrowArgumentNullExceptionWithCorrectParamName() { // Arrange + Act + Assert var exception = Assert.Throws <ArgumentNullException>(() => { var command = new ParseReferencesCommand(null); }); Assert.AreEqual(ParameterNames.Parser, exception.ParamName, "ParamName is not correct."); }
public void ParseReferencesCommand_RunWithNullDocumentAndNullProgramSettings_ShouldThrowArgumentNullException() { // Arrange var parserMock = new Mock <IReferencesParser>(); var command = new ParseReferencesCommand(parserMock.Object); // Act + Assert var exception = Assert.ThrowsAsync <ArgumentNullException>(() => { return(command.Run(null, null)); }); parserMock.Verify(p => p.Parse(It.IsAny <XmlNode>()), Times.Never); }
public void ParseReferencesCommand_RunWithValidDocumentAndNullProgramSettings_ShouldThrowArgumentNullExceptionWithCorrectParamName() { // Arrange var parserMock = new Mock <IReferencesParser>(); var command = new ParseReferencesCommand(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); }
public void ParseReferencesCommand_WithValidParser_ShouldCorrectlyInitializeObject() { // Arrange + Act var parserMock = new Mock <IReferencesParser>(); var command = new ParseReferencesCommand(parserMock.Object); // Assert Assert.IsNotNull(command, "Initialized Command object should not be null."); var parser = PrivateField.GetInstanceField( typeof(ParseReferencesCommand).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."); }
public async Task ParseReferencesCommand_RunWithValidDocumentAndValidProgramSettings_ShouldCallParserWithCorrectParameter() { // Arrange var parserMock = new Mock <IReferencesParser>(); var command = new ParseReferencesCommand(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); }