public void GetUserInputValues_CallsCorrectMethodsAndReturnsUserInputDto() { // Arrange var inputFilePath = fixture.Create <string>(); var ouputFilePath = fixture.Create <string>(); var rowSeparator = fixture.Create <char>(); _userFeedbackServiceMock.Setup(s => s.GetInputFileLocation()).Returns(inputFilePath); _fileServiceMock.Setup(s => s.GetOutputDirectory(It.IsAny <string>())).Returns(ouputFilePath); _userFeedbackServiceMock.Setup(s => s.GetRowSeparator()).Returns(rowSeparator); // Act var response = _sut.GetUserInputValues(string.Empty, default(char)); // Assert _userFeedbackServiceMock.Verify(s => s.GetInputFileLocation(), Times.Once); _fileServiceMock.Verify(s => s.GetOutputDirectory(It.Is <string>(y => y == inputFilePath)), Times.Once); _userFeedbackServiceMock.Verify(s => s.GetRowSeparator(), Times.Once); Assert.AreEqual(inputFilePath, response.InputFilePath); Assert.AreEqual(ouputFilePath, response.OutputDirectory); Assert.AreEqual(rowSeparator, response.RowSeparator); }