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); }
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); }
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); }
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); }
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)) }; }
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(); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }