Ejemplo n.º 1
0
    def test_get_balance_with_five_transactions(self):
        account_name = "john"
        account = Account(account_name)
        payer = "john"
        payee = "mary"
        account = Account(account_name)
        transaction = Transaction("2020-01-01", payer, payee, 20)
        account.add_transaction(transaction)
        transaction = Transaction("2020-01-03", payer, payee, 20)
        account.add_transaction(transaction)
        transaction = Transaction("2020-01-05", payer, payee, 20)
        account.add_transaction(transaction)
        transaction = Transaction("2020-01-22", payer, payee, 20)
        account.add_transaction(transaction)
        transaction = Transaction("2020-01-30", payer, payee, 20)
        account.add_transaction(transaction)

        self.assertEqual(account.get_balance("2020-01-02"), -20)
        self.assertEqual(account.get_balance("2020-01-05"), -60)
        self.assertEqual(account.get_balance("2020-01-06"), -60)
        self.assertEqual(account.get_balance("2020-01-07"), -60)
        self.assertEqual(account.get_balance("2020-01-21"), -60)
        self.assertEqual(account.get_balance("2020-01-22"), -80)
        self.assertEqual(account.get_balance("2020-01-23"), -80)
        self.assertEqual(account.get_balance("2020-01-29"), -80)
        self.assertEqual(account.get_balance("2020-01-30"), -100)
        self.assertEqual(account.get_balance("2020-01-31"), -100)
Ejemplo n.º 2
0
    def test_get_balance_with_two_transactions(self):
        account_name = "john"
        account = Account(account_name)
        payer = "john"
        payee = "mary"
        account = Account(account_name)
        transaction = Transaction("2020-01-22", payer, payee, 20)
        account.add_transaction(transaction)
        transaction = Transaction("2020-01-25", payer, payee, 20)
        account.add_transaction(transaction)

        self.assertEqual(account.get_balance("2020-01-22"), -20)

        # Check balance between transactions is as expected
        self.assertEqual(account.get_balance("2020-01-23"), -20)

        #  Check final balance as expected
        self.assertEqual(account.get_balance("2020-01-25"), -40)
Ejemplo n.º 3
0
    def test_get_balance_with_one_transaction(self):
        account_name = "john"
        account = Account(account_name)
        payer = "john"
        payee = "mary"
        account = Account(account_name)
        transaction = Transaction("2020-01-22", payer, payee, 20)
        account.add_transaction(transaction)
        self.assertEqual(account.balance, -20)

        # Balance on date of transaction should be -20
        self.assertEqual(account.get_balance("2020-01-22"), -20)

        # Balance after date of transaction should be -20
        self.assertEqual(account.get_balance("2020-01-25"), -20)

        # Balance before first transaction - assume open and 0
        self.assertEqual(account.get_balance("2015-01-21"), 0)