public void InsertSingleNewTransaction_WithCombinationsOfStartAndTransactValues_ReturnsExpectedBalance(double startingValue, double transactionValue, double expectedValue) { // Arrange IBankAccountDailyBalances dailyBalances = new BankAccountDailyBalances(startingValue); FinancialTransactionDto transaction = new FinancialTransactionDto(DateTime.Parse("01/01/2020 00:00:00"), "Ledger", transactionValue, "Company"); // Act dailyBalances.InsertSingleNewTransaction(transaction); // Assert dailyBalances.LastDailyEndingBalance.ShouldEqual(expectedValue); }
public void ForEach_SingleDailyBalance_EachDailyBalanceIsSeen() { // Arrange IBankAccountDailyBalances dailyBalances = new BankAccountDailyBalances(0.0); FinancialTransactionDto transaction = new FinancialTransactionDto(DateTime.Parse("01/01/2020 00:00:00"), "Ledger", 20.0, "Company"); dailyBalances.InsertSingleNewTransaction(transaction); var expectedBalances = dailyBalances.GetAllDailyBalances(); List <DateTime> expectedDays = new List <DateTime>(); List <DateTime> visitedDays = new List <DateTime>(); dailyBalances.ForEach(dailyBalance => expectedDays.Add(dailyBalance.Date)); // Act dailyBalances.ForEach(dailyBalance => visitedDays.Add(dailyBalance.Date)); // Assert visitedDays.Count.ShouldEqual(expectedBalances.Count); expectedDays.ShouldEqual(visitedDays); }