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 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 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); }
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 Setup() { _factory = new RegularAccountFactory(); _storage = new SqLiteAccountStorage(_factory); _storage.DeleteAllData(); var accountName = "Test Account"; var accountDescription = "Test Description"; var accountCurrency = "USD"; _account = _factory.CreateAccount(accountName, accountDescription, accountCurrency); }
public void GetAllAccountsTest() { var factory = new RegularAccountFactory(); var storage = new SqLiteAccountStorage(factory); _account.Description = DateTime.Now.ToShortTimeString(); storage.CreateAccount(_account); var firstAccount = storage.GetAllAccounts().Last(); Assert.AreEqual(_account.Name, firstAccount.Name); Assert.AreEqual(_account.Description, firstAccount.Description); Assert.AreEqual(_account.Currency, firstAccount.Currency); }
public void CreateAccountTest() { var factory = new RegularAccountFactory(); var storage = new SqLiteAccountStorage(factory); var account = CreateAccount(); var newAccount = storage.CreateAccount(account); Assert.AreEqual(account.Name, newAccount.Name); Assert.AreEqual(account.Description, newAccount.Description); Assert.AreEqual(account.Currency, newAccount.Currency); }
public void DeleteAccountTest() { var factory = new RegularAccountFactory(); var storage = new SqLiteAccountStorage(factory); storage.DeleteAllData(); var account = CreateAccount(); storage.CreateAccount(account); storage.DeleteAccount(account); var numberOfAccounts = storage.GetAllAccounts().Count(); Assert.AreEqual(0, numberOfAccounts); }
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); }
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); }
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 UpdateAccountTest() { var factory = new RegularAccountFactory(); var storage = new SqLiteAccountStorage(factory); storage.DeleteAllData(); var account = CreateAccount(); storage.CreateAccount(account); account.Name = "New Name"; account.Description = "New Description"; storage.UpdateAccount(account); var firstAccount = storage.GetAllAccounts().First(); Assert.AreEqual(account.Name, firstAccount.Name); Assert.AreEqual(account.Description, firstAccount.Description); }
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); }