Пример #1
0
        public void testDoesNotAllowDuplicates()
        {
            Budgeteer.TransactionList transactionList = new Budgeteer.TransactionList();
            
            Budgeteer.Transaction t1 = new Budgeteer.Transaction();
            t1.SourceAccountId = 9;
            t1.DestinationAccountId = 8;
            t1.Payee = "HEB";
            t1.Memo = "NO MEMO FOOL!";
            t1.ClearedBank = false;
            t1.CheckNumber = "Bill Pay";
            t1.Amount = 35;

            Budgeteer.Transaction t2 = new Budgeteer.Transaction();
            t2.SourceAccountId = 9;
            t2.DestinationAccountId = 8;
            t2.Payee = "HEB";
            t2.Memo = "NO MEMO FOOL!";
            t2.ClearedBank = false;
            t2.CheckNumber = "Bill Pay";
            t2.Amount = 35;

            transactionList.Add(t1);

            Assert.AreEqual(1, transactionList.Count);

            transactionList.Add(t2);
            Assert.AreEqual(1, transactionList.Count);

            t2.ClearedBank = true;
            transactionList.Add(t2);
            Assert.AreEqual(2, transactionList.Count);
        }
Пример #2
0
        public void testBalanceCalculations()
        {
            Budgeteer.Account acct = new Budgeteer.Account();
            acct.OpeningBalance = 100;
            acct.save();
            Budgeteer.Transaction t1 = new Budgeteer.Transaction();
            t1.Amount = 18.94;
            t1.SourceAccount = acct;
            t1.Payee = "HEB";
            t1.save();
            acct.Transactions.Add(t1);

            Assert.AreEqual(System.Math.Round(81.06, 2), acct.Balance);

            Budgeteer.Account destAcct = new Budgeteer.Account();
            destAcct.OpeningBalance = 236.57;
            Budgeteer.Transaction t2 = new Budgeteer.Transaction();
            t2.Amount = 12.45;
            t2.SourceAccount = acct;
            t2.DestinationAccount = destAcct;
            acct.Transactions.Add(t2);
            destAcct.Transactions.Add(t2);

            Assert.AreEqual(System.Math.Round(249.02, 2), destAcct.Balance);
            Assert.AreEqual(System.Math.Round(68.61, 2), acct.Balance);
        }
Пример #3
0
        public void testSettingSourceAccount()
        {
            Budgeteer.Account acct1 = new Budgeteer.Account();
            acct1.OpeningBalance = 300;
            acct1.Name = "test setting source account";
            acct1.save();

            Budgeteer.Transaction t1 = new Budgeteer.Transaction();
            t1.Amount = 100;
            t1.Memo = "Cheese";
            t1.Payee = "HEB";
            t1.SourceAccount = acct1;
            t1.save();

            acct1.reload();

            Assert.AreEqual(200, acct1.Balance);
            Assert.AreEqual(acct1.Id, t1.SourceAccountId);
        }
Пример #4
0
        public void testEqual()
        {
            Budgeteer.Transaction t1 = new Budgeteer.Transaction();
            t1.SourceAccountId = 9;
            t1.DestinationAccountId = 8;
            t1.Payee = "HEB";
            t1.Memo = "NO MEMO FOOL!";
            t1.ClearedBank = false;
            t1.CheckNumber = "Bill Pay";
            t1.Amount = 35;

            Budgeteer.Transaction t2 = new Budgeteer.Transaction();
            t2.SourceAccountId = 9;
            t2.DestinationAccountId = 8;
            t2.Payee = "HEB";
            t2.Memo = "NO MEMO FOOL!";
            t2.ClearedBank = false;
            t2.CheckNumber = "Bill Pay";
            t2.Amount = 35;

            Assert.IsTrue(t1.Equals(t2));
        }
Пример #5
0
        public void testTransactionListVsTransactions()
        {
            Budgeteer.Account parent = new Budgeteer.Account();
            parent.OpeningBalance = 100;
            Budgeteer.Transaction t = new Budgeteer.Transaction();
            t.Amount = 95;
            t.SourceAccount = parent;
            parent.Transactions.Add(t);
            Assert.AreEqual(5, parent.Balance);

            Budgeteer.Account child1 = new Budgeteer.Account();
            child1.OpeningBalance = 200;
            t = new Budgeteer.Transaction();
            t.Amount = 95;
            t.SourceAccount = child1;
            child1.Transactions.Add(t);
            Assert.AreEqual(105, child1.Balance);
            
            child1.ParentAccount = parent;
            parent.SubAccounts.Add(child1);
            Assert.AreEqual(110, parent.Balance);

            Budgeteer.Account child2 = new Budgeteer.Account();
            child2.OpeningBalance = 300;
            t = new Budgeteer.Transaction();
            t.Amount = 95;
            t.SourceAccount = child2;
            child2.Transactions.Add(t);
            Assert.AreEqual(205, child2.Balance);

            child2.ParentAccount = child1;
            child1.SubAccounts.Add(child2);
            Assert.AreEqual(310, child1.Balance);
            Assert.AreEqual(315, parent.Balance);

            List<Budgeteer.Transaction> transactionList = parent.TransactionList;
            Assert.AreEqual(3, transactionList.Count);
            Assert.AreEqual(1, parent.Transactions.Count);            
        }