public void WithNoBudgetData() { var emptyBudgetCalculator = new BudgetCalculator(new EmptyBudgetRepository()); var budget = emptyBudgetCalculator.TotalAmount(DateTime.MinValue, DateTime.MinValue); Assert.AreEqual(0, budget); }
private void AmountShouldBe(IList <Budget> data, int expected, DateTime start, DateTime end) { var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); var budget = budgetCalculator.TotalAmount(start, end); Assert.AreEqual(expected, budget); }
public void WrongStartEnd() { IList <Budget> data = new List <Budget>() { new Budget() { Amount = 310, YearMonth = "201801" }, new Budget() { Amount = 620, YearMonth = "201803" }, new Budget() { Amount = 900, YearMonth = "201804" } }; var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); budgetCalculator.TotalAmount(new DateTime(2018, 12, 31), new DateTime(2017, 12, 31)); }
public void CrossMoreMonthHaveBudget() { IList <Budget> data = new List <Budget>() { new Budget() { Amount = 310, YearMonth = "201801" }, new Budget() { Amount = 620, YearMonth = "201803" }, new Budget() { Amount = 900, YearMonth = "201804" } }; var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); AmountShouldBe(720, new DateTime(2018, 1, 31), new DateTime(2018, 4, 3)); }
public void SingleMonthDaysHaveBudget() { IList <Budget> data = new List <Budget>() { new Budget() { Amount = 310, YearMonth = "201801" }, new Budget() { Amount = 620, YearMonth = "201803" }, new Budget() { Amount = 900, YearMonth = "201804" } }; var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); AmountShouldBe(20, new DateTime(2018, 01, 01), new DateTime(2018, 01, 02)); }
public void AllOutOfRangeBudget() { IList <Budget> data = new List <Budget>() { new Budget() { Amount = 310, YearMonth = "201801" }, new Budget() { Amount = 620, YearMonth = "201803" }, new Budget() { Amount = 900, YearMonth = "201804" } }; var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); var budget = budgetCalculator.TotalAmount(new DateTime(2017, 12, 31), new DateTime(2017, 12, 31)); Assert.AreEqual(0, budget); }
private void AmountShouldBe(int expected, DateTime start, DateTime end) { IList <Budget> data = new List <Budget>() { new Budget() { Amount = 310, YearMonth = "201801" }, new Budget() { Amount = 620, YearMonth = "201803" }, new Budget() { Amount = 900, YearMonth = "201804" } }; var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); var budget = budgetCalculator.TotalAmount(start, end); Assert.AreEqual(expected, budget); }
public void CrossMonthSomeHaveBudgetSomeNoBudget() { IList <Budget> data = new List <Budget>() { new Budget() { Amount = 310, YearMonth = "201801" }, new Budget() { Amount = 620, YearMonth = "201803" }, new Budget() { Amount = 900, YearMonth = "201804" } }; var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); var budget = budgetCalculator.TotalAmount(new DateTime(2018, 2, 15), new DateTime(2018, 03, 15)); Assert.AreEqual(300, budget); }
public void CrossYearHaveBudget() { IList <Budget> data = new List <Budget>() { new Budget() { Amount = 310, YearMonth = "201801" }, new Budget() { Amount = 620, YearMonth = "201803" }, new Budget() { Amount = 900, YearMonth = "201804" } }; var budgetCalculator = new BudgetCalculator(new TestDataBudgetRepository(data)); var budget = budgetCalculator.TotalAmount(new DateTime(2017, 08, 31), new DateTime(2018, 06, 01)); Assert.AreEqual(1830, budget); }