Beispiel #1
1
        public void CanBeInitialized()
        {
            var db = new LittleDB("newYorkTryp");
            var newYorkExpenses = new Tryp(db);
            var today = DateTime.Now;
            newYorkExpenses.Initialize(today, 50, 0);

            newYorkExpenses.GetBudget().Total.Should().Be(50);
            newYorkExpenses.GetBudget().Daily.Should().Be(50);
        }
Beispiel #2
0
        public void EachTimeIInstantiateItShouldUpdateTheTotalBudgetBasedOnDays()
        {
            var twoDaysAgo = DateTime.Today.AddDays(-2);
            var db = new LittleDB("newYorkTryp");
            var newyorkExpenses = new Tryp(db);
            newyorkExpenses.Initialize(twoDaysAgo, 20, 0);

            newyorkExpenses.GetBudget().Total.ShouldBeEquivalentTo(60);
        }
Beispiel #3
0
 public void CalculateBudgetShouldAddTheWeekendExtraForEachSaturday()
 {
     var friday = new DateTime(2014, 4, 11);
     var saturday = new DateTime(2014, 4, 12);
     var sunday = new DateTime(2014, 4, 13);
     var db = new LittleDB("newYorkTryp");
     var newyorkExpenses = new Tryp(db);
     newyorkExpenses.Initialize(friday, 10, 3);
     var daysToUpdate = new List<DateTime>(){friday, saturday, sunday};
     newyorkExpenses.CalculateBudgetForDays(daysToUpdate).ShouldBeEquivalentTo(33);
 }
Beispiel #4
0
        public void CanCountExpenses()
        {
            var db = new LittleDB("newYorkTryp");
            var newyorkExpenses = new Tryp(db);

            var food = new Expense(20.3m, "Food", DateTime.Today);
            var taxi = new Expense(3.2m, "Taxi", DateTime.Today);
            newyorkExpenses.AddExpense(food);
            newyorkExpenses.AddExpense(taxi);

            newyorkExpenses.GetTotalExpenses().Should().Be(23.5m);
        }
Beispiel #5
0
        public void CanAddExpensesAndRecoverThem()
        {
            var db = new LittleDB("newYorkTryp");
            var newyorkExpenses = new Tryp(db);

            var food = new Expense(20.3m, "Food", DateTime.Today);
            newyorkExpenses.AddExpense(food);

            var expenses = newyorkExpenses.GetExpenses();
            expenses.Count.Should().Be(1);
            expenses[0].Amount.Should().Be(20.3m);

            var taxiExpense = new Expense(5, "Taxi", DateTime.Today);
            newyorkExpenses.AddExpense(taxiExpense);

            var actualizedExpenses = newyorkExpenses.GetExpenses();
            actualizedExpenses.Count.Should().Be(2);
            actualizedExpenses[1].Description.Should().Be("Taxi");
        }
Beispiel #6
0
        public void ItShouldThrowAnExceptionIfAlreadyInitialized()
        {
            var today = DateTime.Today;
            var db = new LittleDB("newYorkTryp");
            var newyorkExpenses = new Tryp(db);

            newyorkExpenses.Initialize(today, 20, 10);
            Assert.Throws<InvalidOperationException>(() => newyorkExpenses.Initialize(today, 20, 10));
        }
Beispiel #7
0
 public void ItRequiresDBConnexion()
 {
     var db = new LittleDB("newYorkTryp");
     var newyorkExpenses = new Tryp(db);
 }
Beispiel #8
0
 public void OnInstanceItShouldUpdateTheBudgetBasedOnDays()
 {
     var db = new LittleDB("newYorkTryp");
     var newyorkExpenses = new Tryp(db);
 }
Beispiel #9
0
        public void ItShoulndAddBudgetByDaysAlreadyCounted()
        {
            var twoDaysAgo = DateTime.Today.AddDays(-2);
            var db = new LittleDB("newYorkTryp");
            var newyorkExpenses = new Tryp(db);

            newyorkExpenses.Initialize(twoDaysAgo, 20, 0);
            newyorkExpenses.GetBudget().Total.ShouldBeEquivalentTo(60);
            var anotherInstance = new Tryp(db);
            anotherInstance.GetBudget().Total.ShouldBeEquivalentTo(60);
        }
Beispiel #10
0
        public void ItShouldUpdateTheBudgetonInstance()
        {
            var db = new LittleDB("newYorkTryp");

            var threeDaysAgo = DateTime.Today.AddDays(-3);
            var twoDaysAgo = DateTime.Today.AddDays(-2);
            db.SaveList(new List<DateTime>(){threeDaysAgo, twoDaysAgo});

            var budget = new Budget {Daily = 20, Id = 1, Total = 40};
            db.Save(budget);

            var newyorkExpenses = new Tryp(db);
            newyorkExpenses.GetBudget().Total.ShouldBeEquivalentTo(80);
        }