public void NoTransactionsExpectNoBalances() { var calculator = new BalanceCalculator(); var amount = new Amount() { AmountInPennies = 10, BalancePolarity = BalancePolarity.Credit }; var now = DateTime.Now.Date; var transactions = new List <Transaction>() { }; var result = calculator.CalculateBalances(amount, transactions); Assert.Empty(result); }
public void CalculationWithNegativeBalance() { var calculator = new BalanceCalculator(); var amount = new Amount() { AmountInPennies = 10, BalancePolarity = BalancePolarity.Credit }; var now = DateTime.Now.Date; var transactions = new List <Transaction>() { new Transaction() { AmountInPennies = 2, BalancePolarity = BalancePolarity.Debit, BookingDate = now.AddDays(-1) }, new Transaction() { AmountInPennies = 13, BalancePolarity = BalancePolarity.Debit, BookingDate = now.AddDays(-2) }, new Transaction() { AmountInPennies = 5, BalancePolarity = BalancePolarity.Debit, BookingDate = now.AddDays(-4) }, }; var result = calculator.CalculateBalances(amount, transactions); Assert.Equal(3, result.Length); var yesterday = result[0]; var TwoDaysAgo = result[1]; var FourDaysAgo = result[2]; Assert.True(yesterday.Date == now.AddDays(-1)); Assert.True(yesterday.AmountInPennies == 8); Assert.True(TwoDaysAgo.Date == now.AddDays(-2)); Assert.True(TwoDaysAgo.AmountInPennies == -5); Assert.True(FourDaysAgo.Date == now.AddDays(-4)); Assert.True(FourDaysAgo.AmountInPennies == -10); }
public void ExampleTest() { BalanceCalculator.Node[] tree = { new BalanceCalculator.Node(-2, -1, 1), new BalanceCalculator.Node(8, 3, 2), new BalanceCalculator.Node(9, -1, -1), new BalanceCalculator.Node(3, 4, 5), new BalanceCalculator.Node(0, -1, -1), new BalanceCalculator.Node(6, -1, -1) }; BalanceCalculator.DfsAsync(tree, tree[0]).Wait(); tree[0].Balance.Should().Be(3); tree[1].Balance.Should().Be(-1); tree[2].Balance.Should().Be(0); tree[3].Balance.Should().Be(0); tree[4].Balance.Should().Be(0); tree[5].Balance.Should().Be(0); }
public void TestBalanceCalculator() { BalanceCalculator bc = new BalanceCalculator(); Assert.AreEqual(105, bc.EndBalance(100, 0.05m)); }