public CountWordsOperationTests() { var mockFileManager = new Mock <IFileManager>(); var mockLogger = new Mock <ILogger>(); countWordsOperation = new CountWordsOperation( mockFileManager.Object, mockLogger.Object ); }
public void Process() { // Arrange var text = "123 456 123 456 789 123"; var filePath = "File.txt"; var countWordsData = new CountWordsData { FilePath = filePath, SearchWord = "123" }; var expectedMessage = "Count founded words: 3"; var fileManagerMock = new Mock <IFileManager>(); fileManagerMock .Setup(m => m.ReadText(filePath)) .Returns(text); var actualMessage = string.Empty; var loggerMock = new Mock <ILogger>(); loggerMock .Setup(l => l.LogInformation(It.IsAny <string>())) .Callback <string>(message => actualMessage = message); var operation = new CountWordsOperation( fileManagerMock.Object, loggerMock.Object ); // Act operation.Process(countWordsData); // Assert Assert.Equal(expectedMessage, actualMessage); }