public void APIProcessing_ShouldProduceOutput_WhenCorrectDataProvided() { // Arrange var transactionProcessor = new TransactionsProcessor(); var fakeFileHelper = new FakeFileTransactionHelper(); var consoleHelper = new FakeConsoleHelper(); transactionProcessor.ConsoleHelperProperty = consoleHelper; transactionProcessor.FileHelperProperty = fakeFileHelper; var merchantProcessor = new MerchantsProcessor(); merchantProcessor.ConsoleHelperProperty = new FakeConsoleHelper(); merchantProcessor.FileHelperProperty = new FakeFileMerchantHelper(); var merchants = merchantProcessor.ReadMerchants("someFile"); // Act transactionProcessor.ReadTransactions("someFile", merchants); // Assert var output = consoleHelper.ConsoleOutput.ToString(); Assert.Equal("2018-09-01 7-ELEVEN 30.00\n2018-09-04 CIRCLE_K 30.60\n", output); }
public void APIProcessing_ShouldProduceErrorMessage_WhenIncorrectMerchantDataProvided() { // Arrange var transactionProcessor = new TransactionsProcessor(); var fakeFileHelper = new FakeFileTransactionHelper(); var consoleHelper = new FakeConsoleHelper(); transactionProcessor.ConsoleHelperProperty = consoleHelper; transactionProcessor.FileHelperProperty = fakeFileHelper; var merchantProcessor = new MerchantsProcessor(); merchantProcessor.ConsoleHelperProperty = new FakeConsoleHelper(); merchantProcessor.FileHelperProperty = new FakeFileMerchantWithIncorrectDataHelper(); var merchants = merchantProcessor.ReadMerchants("someFile"); // Act transactionProcessor.ReadTransactions("someFile", merchants); // Assert var output = consoleHelper.ConsoleOutput.ToString(); Assert.Equal("Error while processing merchant data\nError while processing tramsaction data\n", output); }