Esempio n. 1
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);
        }
Esempio n. 2
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);
        }
Esempio n. 3
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);
        }
Esempio n. 4
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 RegularTransactionFactory();
            var storage            = new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage);

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

            storage.CreateTransaction(transaction);

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


            storage.UpdateTransaction(transaction);


            var firstTransaction = storage.GetAllTransactions().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);
        }
Esempio n. 5
0
        public GlobalSettings()
        {
            var accountFactory          = new RegularAccountFactory();
            var categoryFactory         = new RegularCategoryFactory();
            var transactionFactory      = new RegularTransactionFactory();
            var quickTransactionFactory = new RegularQuickTransactionFactory();

            var accountStorage = new CachedAccountStorage(
                new SqLiteAccountStorage(accountFactory));
            var categoryStorage = new CachedCategoryStorage(
                new SqLiteCategoryStorage(categoryFactory));
            var transactionStorage = new CachedTransactionStorage(
                new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage));

            Storages = new Storages
            {
                AccountStorage  = accountStorage,
                CategoryStorage = categoryStorage,

                TransactionStorage = transactionStorage,
                BarCodeStorage     = new CachedBarCodeStorage(
                    new SqLiteBarCodeStorage(new BarCodeFactory(), transactionStorage)),
                QuickTransactionStorage = new CachedQuickTransactionStorage(
                    new SqLiteQuickTransactionStorage(quickTransactionFactory, accountStorage, categoryStorage))
            };
        }
Esempio n. 6
0
        public void Setup()
        {
            var accountFactory  = new RegularAccountFactory();
            var categoryFactory = new RegularCategoryFactory();

            _accountStorage  = new CachedAccountStorage(new SqLiteAccountStorage(accountFactory));
            _categoryStorage = new CachedCategoryStorage(new SqLiteCategoryStorage(categoryFactory));
            var transactionFactory = new RegularTransactionFactory();

            _storage = new CachedTransactionStorage(new SqLiteTransactionStorage(transactionFactory, _accountStorage, _categoryStorage));
            _storage.DeleteAllData();
            CreateTransaction();
        }
Esempio n. 7
0
        private ITransaction CreateTransaction()
        {
            var factory         = new RegularTransactionFactory();
            var accountFactory  = new RegularAccountFactory();
            var categoryFactory = new RegularCategoryFactory();

            var account  = accountFactory.CreateAccount("Account", "Description", "UAH");
            var category = categoryFactory.CreateCategory("Category", "category Description", 0, null);

            var transaction = factory.CreateTransaction(
                account, category, "Simple Transaction", 100
                );

            return(transaction);
        }
Esempio n. 8
0
        public void UpdateTransactionTest()
        {
            var factory     = new RegularTransactionFactory();
            var storage     = new MemoryTransactionStorage(factory);
            var transaction = CreateTransaction();

            storage.CreateTransaction(transaction);
            transaction.Total = 120;


            storage.UpdateTransaction(transaction);
            var storedTransaction = storage.GetAllTransactions().First();


            Assert.AreEqual(transaction.Total, storedTransaction.Total);
        }
Esempio n. 9
0
        public void CreateTransactionTest()
        {
            var factory = new RegularTransactionFactory();
            var storage = new MemoryTransactionStorage(factory);

            var transaction = CreateTransaction();


            var newTransaction = storage.CreateTransaction(transaction);


            Assert.AreEqual(transaction.Name, newTransaction.Name);
            Assert.AreEqual(transaction.Total, newTransaction.Total);
            Assert.AreEqual(transaction.Account, newTransaction.Account);
            Assert.AreEqual(transaction.Category, newTransaction.Category);
        }
Esempio n. 10
0
        public void CreateTransactionTest()
        {
            var factory         = new RegularTransactionFactory();
            var accountFactory  = new RegularAccountFactory();
            var categoryFactory = new RegularCategoryFactory();

            var account  = accountFactory.CreateAccount("Account", "Description", "UAH");
            var category = categoryFactory.CreateCategory("Category", "category Description", 0, null);

            var transaction = factory.CreateTransaction(
                account, category, "Simple Transaction", 100
                );

            Assert.AreEqual(account, transaction.Account);
            Assert.AreEqual(category, transaction.Category);
        }
Esempio n. 11
0
        public void GetAllTransactionsTest()
        {
            var factory     = new RegularTransactionFactory();
            var storage     = new MemoryTransactionStorage(factory);
            var transaction = CreateTransaction();

            storage.CreateTransaction(transaction);


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


            Assert.AreEqual(transaction.Name, firstTransaction.Name);
            Assert.AreEqual(transaction.Total, firstTransaction.Total);
            Assert.AreEqual(transaction.Account, firstTransaction.Account);
            Assert.AreEqual(transaction.Category, firstTransaction.Category);
        }
Esempio n. 12
0
        public void Setup()
        {
            _factory = new RegularTransactionFactory();
            var accountFactory  = new RegularAccountFactory();
            var categoryFactory = new RegularCategoryFactory();
            var account1        = accountFactory.CreateAccount("Main Account", "Description", "UAH");
            var account2        = accountFactory.CreateAccount("Reserve Account", "Description", "AUD");

            var category1 = categoryFactory.CreateCategory("Complex Transaction", "Description", 1, null);
            var category2 = categoryFactory.CreateCategory("Category 1", "Description", 2, null);
            var category3 = categoryFactory.CreateCategory("Category 2", "Description", 3, null);
            var category4 = categoryFactory.CreateCategory("Category 3", "Description", 4, null);

            _mainTransaction = _factory.CreateTransaction(account1, category1, "Complex Transaction", 20m, DateTime.Now, 1, 0, null, null);
            _child1          = _factory.CreateTransaction(account1, category2, "Child 1", 40m, DateTime.Now, 2, 0, null, null);
            _child2          = _factory.CreateTransaction(account2, category3, "Child 2", 80m, DateTime.Now, 3, 0, null, null);
            _child3          = _factory.CreateTransaction(account2, category4, "Child 3", 160m, DateTime.Now, 4, 0, null, null);
        }
Esempio n. 13
0
        public void DeleteTransactionTest()
        {
            var factory     = new RegularTransactionFactory();
            var storage     = new MemoryTransactionStorage(factory);
            var transaction = CreateTransaction();

            storage.CreateTransaction(transaction);

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

            storage.DeleteTransaction(transaction);


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


            Assert.AreEqual(0, numberOfTransactions);
            Assert.AreEqual(1, numberOfTransactionsAfterCreate);
        }
Esempio n. 14
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 RegularTransactionFactory();
            var storage            = new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage);
            var transaction        = CreateTransaction();


            var newTransaction = storage.CreateTransaction(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);
        }
Esempio n. 15
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);
        }
Esempio n. 16
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 RegularTransactionFactory();
            var storage            = new SqLiteTransactionStorage(transactionFactory, accountStorage, categoryStorage);

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

            storage.CreateTransaction(transaction);



            storage.DeleteTransaction(transaction);


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


            Assert.AreEqual(0, numberOfTransactions);
        }