public void SubmitBankStatement() { using (var reader = new StreamReader(@"../../../statement-01.csv")) { // Arrange var submittedBankStatement = new SubmittedBankStatement { Name = "statement-01.csv", Bank = Bank.Barclays, AccountType = AccountType.PersonalCurrentAccount, Content = reader.ReadToEnd() }; var queueItem = new SubmittedBankStatementQueueItem(submittedBankStatement); mockStore.Setup(store => store.Write(submittedBankStatement.Name, submittedBankStatement.Content)); mockQueue.Setup(queue => queue.Add(queueItem)); // Act submitBankStatement.Submit(submittedBankStatement); // Assert mockStore.Verify(store => store.Write(submittedBankStatement.Name, submittedBankStatement.Content)); Func <SubmittedBankStatementQueueItem, bool> AreEqual = actual => { Assert.AreEqual(actual.Name, queueItem.Name); Assert.AreEqual(actual.AccountType, queueItem.AccountType); Assert.AreEqual(actual.Bank, queueItem.Bank); return(true); }; mockQueue.Verify(queue => queue.Add(It.Is <SubmittedBankStatementQueueItem>(actual => AreEqual(actual)))); } }
public SubmittedBankStatementQueueItem(SubmittedBankStatement submittedBankStatement) { Name = submittedBankStatement.Name; Bank = submittedBankStatement.Bank; AccountType = submittedBankStatement.AccountType; }