Example #1
0
        public void UpdateTransactionTest()
        {
            ITransactionFactory transactionFactory = new RegularTransactionFactory();
            var accountStorage  = new SqLiteAccountStorage(new RegularAccountFactory());
            var categoryStorage = new SqLiteCategoryStorage(new RegularCategoryFactory());
            var storage         = new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage);

            categoryStorage.DeleteAllData();
            accountStorage.DeleteAllData();
            storage.DeleteAllData();
            var transaction       = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var childTransaction  = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var childTransaction1 = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var newTransaction    = storage.CreateTransaction(transaction);

            storage.AddChildTransaction(newTransaction, storage.CreateTransaction(childTransaction));
            storage.AddChildTransaction(newTransaction, storage.CreateTransaction(childTransaction1));
            childTransaction1.Name  = "New Name";
            childTransaction1.Total = 515.03m;


            storage.UpdateTransaction(childTransaction1);


            var firstTransaction = storage.GetAllTransactions().First(x => x.Id == childTransaction1.Id);

            Assert.AreEqual(childTransaction1.Name, firstTransaction.Name);
            Assert.AreEqual(childTransaction1.Category.Id, firstTransaction.Category.Id);
            Assert.AreEqual(childTransaction1.Account.Id, firstTransaction.Account.Id);
            Assert.AreEqual(childTransaction1.Total, firstTransaction.Total);
        }
Example #2
0
        public void DeleteComplexTransactionTest()
        {
            ITransactionFactory transactionFactory = new RegularTransactionFactory();
            var accountStorage  = new SqLiteAccountStorage(new RegularAccountFactory());
            var categoryStorage = new SqLiteCategoryStorage(new RegularCategoryFactory());
            var storage         = new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage);

            categoryStorage.DeleteAllData();
            accountStorage.DeleteAllData();
            storage.DeleteAllData();
            var transaction       = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var childTransaction  = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var childTransaction1 = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var newTransaction    = storage.CreateTransaction(transaction);

            storage.AddChildTransaction(newTransaction, storage.CreateTransaction(childTransaction));
            storage.AddChildTransaction(newTransaction, storage.CreateTransaction(childTransaction1));



            storage.DeleteTransaction(newTransaction);


            var numberOfTransactions = storage.GetAllTransactions().Count();


            Assert.AreEqual(0, numberOfTransactions);
        }
Example #3
0
        public void UpdateTransactionTest()
        {
            var accountFactory     = new RegularAccountFactory();
            var categoryFactory    = new RegularCategoryFactory();
            var accountStorage     = new SqLiteAccountStorage(accountFactory);
            var categoryStorage    = new SqLiteCategoryStorage(categoryFactory);
            var transactionFactory = new RegularQuickTransactionFactory();
            var storage            = new SqLiteQuickTransactionStorage(transactionFactory, accountStorage, categoryStorage);

            storage.DeleteAllData();
            var transaction = CreateTransaction();

            storage.CreateQuickTransaction(transaction);

            transaction.Name  = "New Name";
            transaction.Total = 515.03m;


            storage.UpdateQuickTransaction(transaction);


            var firstTransaction = storage.GetAllQuickTransactions().First();

            Assert.AreEqual(transaction.Name, firstTransaction.Name);
            Assert.AreEqual(transaction.Category.Id, firstTransaction.Category.Id);
            Assert.AreEqual(transaction.Account.Id, firstTransaction.Account.Id);
            Assert.AreEqual(transaction.Total, firstTransaction.Total);
        }
Example #4
0
        public void CreateComplexTransactionTest()
        {
            var accountStorage     = new SqLiteAccountStorage(new RegularAccountFactory());
            var categoryStorage    = new SqLiteCategoryStorage(new RegularCategoryFactory());
            var transactionFactory = new RegularTransactionFactory();
            var storage            = new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage);

            categoryStorage.DeleteAllData();
            accountStorage.DeleteAllData();
            storage.DeleteAllData();
            var transaction       = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var childTransaction  = CreateTransaction(accountStorage, categoryStorage, transactionFactory);
            var childTransaction1 = CreateTransaction(accountStorage, categoryStorage, transactionFactory);

            var newTransaction = storage.CreateTransaction(transaction);

            storage.AddChildTransaction(newTransaction, storage.CreateTransaction(childTransaction));
            storage.AddChildTransaction(newTransaction, storage.CreateTransaction(childTransaction1));


            var complexTransaction = storage.GetAllTransactions().FirstOrDefault(x => x.IsComplexTransaction);

            Assert.AreEqual(transaction.Name, complexTransaction?.Name);
            Assert.AreEqual(transaction.Category.Id, complexTransaction?.Category?.Id);
            Assert.AreEqual(transaction.Account.Id, complexTransaction?.Account?.Id);
            Assert.AreEqual(426.00m, complexTransaction?.Total);
        }
Example #5
0
        public void CreateCategoryTest()
        {
            var factory  = new RegularCategoryFactory();
            var storage  = new SqLiteCategoryStorage(factory);
            var category = CreateCategory();


            var newCategory = storage.CreateCategory(category);


            Assert.AreEqual(category.Name, newCategory.Name);
            Assert.AreEqual(category.Description, newCategory.Description);
        }
Example #6
0
        public void GetAllCategoriesTest()
        {
            var factory  = new RegularCategoryFactory();
            var storage  = new SqLiteCategoryStorage(factory);
            var category = CreateCategory();

            category.Description = DateTime.Now.ToShortTimeString();
            storage.CreateCategory(category);

            var firstCategory = storage.GetAllCategories().Last();

            Assert.AreEqual(category.Name, firstCategory.Name);
            Assert.AreEqual(category.Description, firstCategory.Description);
        }
Example #7
0
        public void DeleteCategoryTest()
        {
            var factory = new RegularCategoryFactory();
            var storage = new SqLiteCategoryStorage(factory);

            storage.DeleteAllData();
            var category = CreateCategory();

            storage.CreateCategory(category);
            storage.DeleteCategory(category);


            var numberOfCategories = storage.GetAllCategories().Count();


            Assert.AreEqual(0, numberOfCategories);
        }
Example #8
0
        public void CreateTransactionTest()
        {
            var accountFactory     = new RegularAccountFactory();
            var categoryFactory    = new RegularCategoryFactory();
            var accountStorage     = new SqLiteAccountStorage(accountFactory);
            var categoryStorage    = new SqLiteCategoryStorage(categoryFactory);
            var transactionFactory = new RegularQuickTransactionFactory();
            var storage            = new SqLiteQuickTransactionStorage(transactionFactory, accountStorage, categoryStorage);
            var transaction        = CreateTransaction();


            var newTransaction = storage.CreateQuickTransaction(transaction);


            Assert.AreEqual(transaction.Name, newTransaction.Name);
            Assert.AreEqual(transaction.Category.Id, newTransaction.Category.Id);
            Assert.AreEqual(transaction.Account.Id, newTransaction.Account.Id);
            Assert.AreEqual(transaction.Total, newTransaction.Total);
        }
Example #9
0
        private IQuickTransaction CreateTransaction()
        {
            var accountFactory  = new RegularAccountFactory();
            var categoryFactory = new RegularCategoryFactory();
            var accountManager  = new SqLiteAccountStorage(accountFactory);
            var categoryManager = new SqLiteCategoryStorage(categoryFactory);

            var factory = new RegularQuickTransactionFactory();


            var account  = accountManager.CreateAccount("Test account", "Account Description", "EUR");
            var category = categoryManager.CreateCategory("Sample category", "Category Description", 0, null);


            var transaction = factory.CreateQuickTransaction(
                account, category, "Simple Transaction", 100, 5, 0, false, false);

            return(transaction);
        }
Example #10
0
        private ITransaction CreateTransaction()
        {
            var accountFactory  = new RegularAccountFactory();
            var categoryFactory = new RegularCategoryFactory();
            var accountManager  = new SqLiteAccountStorage(accountFactory);
            var categoryManager = new SqLiteCategoryStorage(categoryFactory);

            var factory = new RegularTransactionFactory();

            var transactionName  = "Test Transaction";
            var transactionTotal = 213.00m;


            var account  = accountManager.CreateAccount("Test account", "Account Description", "EUR");
            var category = categoryManager.CreateCategory("Sample category", "Category Description", 0, null);

            var transaction = factory.CreateTransaction(account, category, transactionName, transactionTotal, DateTime.Now, 0, 0.12m, null, null);

            return(transaction);
        }
Example #11
0
        public void UpdateCategoryTest()
        {
            var factory = new RegularCategoryFactory();
            var storage = new SqLiteCategoryStorage(factory);

            storage.DeleteAllData();
            var category = CreateCategory();

            storage.CreateCategory(category);
            category.Name        = "New Name";
            category.Description = "New Description";


            storage.UpdateCategory(category);


            var firstCategory = storage.GetAllCategories().First();

            Assert.AreEqual(category.Name, firstCategory.Name);
            Assert.AreEqual(category.Description, firstCategory.Description);
        }
Example #12
0
        public void CreateTreeCategoryTest()
        {
            var factory = new RegularCategoryFactory();
            var storage = new SqLiteCategoryStorage(factory);

            storage.DeleteAllData();
            var category = CreateCategory();

            storage.CreateCategory(category);
            var childCategory = CreateChildCategory(category);

            storage.CreateCategory(childCategory);


            var categoryList             = storage.GetAllCategories().ToArray();
            var categoryFromStorage      = categoryList.FirstOrDefault(x => x.Id == category.Id);
            var childCategoryFromStorage = categoryList.FirstOrDefault(x => x.Id == childCategory.Id);


            Assert.AreEqual(category.Id, categoryFromStorage.Id);
            Assert.AreEqual(childCategory.Id, childCategoryFromStorage.Id);
            Assert.AreEqual(childCategoryFromStorage.Parent.Id, categoryFromStorage.Id);
        }
Example #13
0
        public void DeleteTransactionTest()
        {
            var accountFactory     = new RegularAccountFactory();
            var categoryFactory    = new RegularCategoryFactory();
            var accountStorage     = new SqLiteAccountStorage(accountFactory);
            var categoryStorage    = new SqLiteCategoryStorage(categoryFactory);
            var transactionFactory = new RegularQuickTransactionFactory();
            var storage            = new SqLiteQuickTransactionStorage(transactionFactory, accountStorage, categoryStorage);

            storage.DeleteAllData();
            var transaction = CreateTransaction();

            storage.CreateQuickTransaction(transaction);



            storage.DeleteQuickTransaction(transaction);


            var numberOfTransactions = storage.GetAllQuickTransactions().Count();


            Assert.AreEqual(0, numberOfTransactions);
        }
Example #14
0
        public static void CreateDefaultCategoryTree()
        {
            var storage = new SqLiteCategoryStorage(new RegularCategoryFactory());

            storage.DeleteAllData();
            var car = storage.CreateCategory("🚗 Car", "Car", 1, null);

            storage.CreateCategory("🅿 Parking", "Parking", 2, car);
            storage.CreateCategory("💷 Insurance", "Insurance", 3, car);
            storage.CreateCategory("🛒 Accessories", "Accessories", 4, car);
            storage.CreateCategory("🚘 Other", "Other", 5, car);
            storage.CreateCategory("🛠 Service", "Service", 6, car);
            storage.CreateCategory("⛽ Fuel", "Fuel", 7, car);

            var relaxation = storage.CreateCategory("🎈 Relaxation", "Relaxation", 8, null);

            storage.CreateCategory("🏅 Sport", "sport", 9, relaxation);
            storage.CreateCategory("🎠 Entertainment", "Entertainment", 10, relaxation);
            storage.CreateCategory("🏆 Sport/Fitness", "Sport/Fitness", 11, relaxation);

            var home = storage.CreateCategory("🏡 Home", "home", 12, null);

            storage.CreateCategory("📆 Rent", "Rent", 13, home);
            storage.CreateCategory("🪑🪑 Furniture", "Furniture", 14, home);

            var health = storage.CreateCategory("👨‍⚕ Healthcare", "Healthcare", 15, null);

            storage.CreateCategory("💊 Medicine", "Medicine", 16, health);
            storage.CreateCategory("🏥 Hospital", "Hospital", 17, health);
            storage.CreateCategory("🦷 Dentist", "Dentist", 18, health);
            storage.CreateCategory("⚕ Medical Insurance", "Medical Insurance", 19, health);
            storage.CreateCategory("💉 Analysis", "Analysis", 20, health);

            var books = storage.CreateCategory("📚 Books", "Books", 21, null);

            var bills = storage.CreateCategory("🗃 Bills", "Bills", 22, null);

            storage.CreateCategory("🚿 Water", "Water", 23, bills);
            storage.CreateCategory("🔥 Gas", "Gas", 24, bills);
            storage.CreateCategory("🔌 Electricity", "Electricity", 25, bills);
            storage.CreateCategory("📡 Internet", "Internet", 26, bills);
            storage.CreateCategory("📶 Mobile", "Mobile", 27, bills);
            storage.CreateCategory("🏚 Rental fee", "Rental fee", 28, bills);
            storage.CreateCategory("🥵 Central Heating", "Central Heating", 29, bills);

            var clothes = storage.CreateCategory("👕 Clothes", "Clothes", 30, null);
            var c00per  = storage.CreateCategory("👔 C00per clothes", "c00per clothes", 31, clothes);
            var gerda   = storage.CreateCategory("🥻 Gerda clothes", "Gerda clothes", 32, clothes);
            var sam     = storage.CreateCategory("👗 Sam clothes", "Sam clothes", 33, clothes);


            var food       = storage.CreateCategory("🍝 Food", "Food", 34, null);
            var meat       = storage.CreateCategory("🥩 Meat", "Meat", 35, food);
            var fish       = storage.CreateCategory("🦈 Fish", "Fish", 36, food);
            var vegetables = storage.CreateCategory("🍅 Vegetables", "Vegetables", 37, food);
            var fruit      = storage.CreateCategory("🍎 Fruit", "Fruit", 38, food);
            var cereals    = storage.CreateCategory("🥣 Cereals", "Cereals", 39, food);

            var transport = storage.CreateCategory("🚇 Transport", "Transport", 40, null);

            storage.CreateCategory("🚇 Metro", "Metro", 41, transport);
            storage.CreateCategory("🚌 Bus", "Bus", 42, transport);
            storage.CreateCategory("🚋 Tram", "Tram", 43, transport);
            storage.CreateCategory("🚎 Trolleybus", "Trolleybus", 44, transport);
            storage.CreateCategory("🚐 Minibus", "Minibus", 45, transport);

            var cigarettes = storage.CreateCategory("🚬 Cigarettes", "Cigarettes", 46, null);

            var journey = storage.CreateCategory("🌏 Journey", "Journey", 47, null);

            storage.CreateCategory("🛌 Hotels", "Hotels", 48, journey);
            storage.CreateCategory("🚙 Car", "Car", 49, journey);
            storage.CreateCategory("🍜 Food", "Food", 50, journey);
            storage.CreateCategory("☕ Coffee", "Coffee", 51, journey);
            storage.CreateCategory("🏛 Museum", "Museum", 52, journey);
            storage.CreateCategory("🎌 Souvenirs", "Souvenirs", 53, journey);
            storage.CreateCategory("✈ Tickets", "Tickets", 54, journey);
            storage.CreateCategory("🏺 Drinks", "Drinks", 55, journey);
            storage.CreateCategory("📔 Books and Guides", "Books and Guides", 56, journey);
        }