Exemplo n.º 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);
        }
Exemplo n.º 2
0
        public void ItShouldReturnAnEmptyListIfNoObjectsSaved()
        {
            var littledb = new LittleDB("myDatabase");
            var programmers = littledb.GetAll<Programmer>();

            Assert.That(programmers.Count, Is.EqualTo(0));
        }
Exemplo n.º 3
0
        protected Tryp CreateTryp(DateTime startDate, int dailyBudget, int weekEndExtra, string name)
        {
            var trypDb = new LittleDB(name);
            var tryp = new Tryp(trypDb);
            tryp.Initialize(startDate, dailyBudget, weekEndExtra);

            return tryp;
        }
Exemplo n.º 4
0
        public void CanCreateNewExpensesTryp()
        {
            var trypsDb = new LittleDB("tryps");

            var iexpenses = new TrypsController();
            Tryp newYorkTryp = iexpenses.CreateNewTryp(DateTime.Now, 50, 0, "New York");

            trypsDb.GetAll<TrypRecord>().Count.ShouldBeEquivalentTo(1);
        }
Exemplo n.º 5
0
        public void ItShouldntCreateNewRegistryWhenSavingObjectsWithSameIdProperty()
        {
            var littledb = new LittleDB("myDatabase");
            var objectWithId = new ObjectWithId(23, "myObject");
            littledb.Save(objectWithId);
            littledb.Save(objectWithId);

            littledb.GetAll<ObjectWithId>().Count.ShouldBeEquivalentTo(1);
        }
Exemplo n.º 6
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);
        }
Exemplo n.º 7
0
        public void ItShouldGiveIdToObjectsWithThePropertyAndIdIsZero()
        {
            var littledb = new LittleDB("myDatabase");
            var objectWithId = new ObjectWithId(0, "myObject");
            littledb.Save(objectWithId);
            littledb.GetAll<ObjectWithId>().Last().Id.ShouldBeEquivalentTo(1);

            var anotherObjectWithId = new ObjectWithId(0, "myObject");
            littledb.Save(anotherObjectWithId);
            littledb.GetAll<ObjectWithId>().Last().Id.ShouldBeEquivalentTo(2);
        }
Exemplo n.º 8
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);
 }
Exemplo n.º 9
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);
        }
Exemplo n.º 10
0
        public void ICanSaveMultiPleElements()
        {
            var littledb = new LittleDB("myDatabase");
            var me = new Programmer("alberto");
            var he = new Programmer("marcelo");
            littledb.Save(me);
            littledb.Save(he);

            List<Programmer> programmers = littledb.GetAll<Programmer>();

            Assert.That(programmers.Count, Is.EqualTo(2));
            Assert.That(programmers[0].Name, Is.EqualTo(me.Name));
            Assert.That(programmers[1].Name, Is.EqualTo(he.Name));
        }
Exemplo n.º 11
0
        public void CanSaveAList()
        {
            var littledb = new LittleDB("myDatabase");
            var me = new Programmer("alberto");
            var he = new Programmer("marcelo");

            var programers = new List<Programmer>(){me, he};
            littledb.SaveList(programers);

            var programmers = littledb.GetAll<Programmer>();

            Assert.That(programmers.Count, Is.EqualTo(2));
            Assert.That(programmers[0].Name, Is.EqualTo(me.Name));
            Assert.That(programmers[1].Name, Is.EqualTo(he.Name));
        }
Exemplo n.º 12
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");
        }
Exemplo n.º 13
0
 /// <summary>
 /// Recovers a tryp by the name.
 /// </summary>
 /// <param name="name"></param>
 /// <returns></returns>
 public Tryp GetTrypByName(string name)
 {
     var db = new LittleDB(name);
     return new Tryp(db);
 }
Exemplo n.º 14
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);
        }
Exemplo n.º 15
0
 public void ShouldCreateAfileWithNamedAsTheTypeOfTheObjectSaved()
 {
     var littledb = new LittleDB("myDatabase");
     var me = new Programmer("alberto");
     littledb.Save(me);
     Assert.IsTrue(File.Exists(Path.Combine(Directory.GetCurrentDirectory(), "myDatabase", "Programmer")));
 }
Exemplo n.º 16
0
 public Tryp(LittleDB db)
 {
     _db = db;
     Update();
 }
Exemplo n.º 17
0
 public void OnInstanceItShouldUpdateTheBudgetBasedOnDays()
 {
     var db = new LittleDB("newYorkTryp");
     var newyorkExpenses = new Tryp(db);
 }
Exemplo n.º 18
0
 public void ItRequiresDBConnexion()
 {
     var db = new LittleDB("newYorkTryp");
     var newyorkExpenses = new Tryp(db);
 }
Exemplo n.º 19
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));
        }
Exemplo n.º 20
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);
        }
Exemplo n.º 21
0
        public void WhenReadingShouldReturnACollectionOfObjects()
        {
            var littledb = new LittleDB("myDatabase");
            var me = new Programmer("alberto");
            littledb.Save(me);

            var programmers = littledb.GetAll<Programmer>();

            Assert.That(programmers.Count, Is.EqualTo(1));
            Assert.That(programmers[0].Name, Is.EqualTo(me.Name));
        }