diff --git a/tests/test_data_account.py b/tests/test_data_account.py index b2901d4b76cce2eacda52bac4a04ae6f2d83f530..978030489c8b33aed95e3fe0bca50a57fa15a1d5 100644 --- a/tests/test_data_account.py +++ b/tests/test_data_account.py @@ -26,55 +26,46 @@ from conservancy_beancount import data ('Expenses:Tax:Sales', 'Expenses:', True), ('Expenses:Tax:Sales', 'Expenses', True), ('Expenses:Tax:Sales', 'Expense', False), - ('Expenses:Tax:Sales', 'Accrued:', False), - ('Expenses:Tax:Sales', 'Accrued', False), + ('Expenses:Tax:Sales', 'Equity:', False), + ('Expenses:Tax:Sales', 'Equity', False), ]) def test_is_under_one_arg(acct_name, under_arg, expected): expected = under_arg if expected else None assert data.Account(acct_name).is_under(under_arg) == expected @pytest.mark.parametrize('acct_name,expected', [ - ('Income:Other', 'Income'), - ('UnearnedIncome:Other', 'UnearnedIncome'), - ('Accrued:AccountsPayable', None), - ('Expenses:General', None), + ('Assets:Cash', None), + ('Assets:Checking', None), + ('Assets:Prepaid:Expenses', 'Assets:Prepaid'), + ('Assets:Receivable:Accounts', 'Assets:Receivable'), ]) def test_is_under_multi_arg(acct_name, expected): - assert data.Account(acct_name).is_under('Income', 'UnearnedIncome') == expected + assert expected == data.Account(acct_name).is_under( + 'Assets:Prepaid', 'Assets:Receivable', + ) if expected: expected += ':' - assert data.Account(acct_name).is_under('Income:', 'UnearnedIncome:') == expected + assert expected == data.Account(acct_name).is_under( + 'Assets:Prepaid:', 'Assets:Receivable:', + ) @pytest.mark.parametrize('acct_name,expected', [ - ('Accrued:AccountsReceivable', False), - ('Assets:Cash', False), - ('Expenses:General', False), - ('Income:Donations', True), - ('Income:Sales', True), - ('Income:Other', True), - ('Liabilities:CreditCard', False), - ('UnearnedIncome:MatchPledges', True), -]) -def test_is_income(acct_name, expected): - assert data.Account(acct_name).is_income() == expected - -@pytest.mark.parametrize('acct_name,expected', [ - ('Accrued:AccountsPayable', False), - ('Accrued:AccountsReceivable', False), + ('Assets:Bank:Checking', True), ('Assets:Cash', True), ('Assets:Cash:EUR', True), - ('Assets:PrepaidExpenses', False), - ('Assets:PrepaidVacation', False), - ('Assets:Bank:Checking', True), - ('Expenses:General', False), - ('Income:Donations', False), + ('Assets:Prepaid:Expenses', False), + ('Assets:Prepaid:Vacation', False), + ('Assets:Receivable:Accounts', False), + ('Assets:Receivable:Fraud', False), + ('Expenses:Other', False), + ('Equity:OpeningBalance', False), + ('Income:Other', False), + ('Liabilities:CreditCard', False), ]) -def test_is_real_asset(acct_name, expected): - assert data.Account(acct_name).is_real_asset() == expected +def test_is_cash_equivalent(acct_name, expected): + assert data.Account(acct_name).is_cash_equivalent() == expected @pytest.mark.parametrize('acct_name,expected', [ - ('Accrued:AccountsPayable', False), - ('Accrued:AccountsReceivable', False), ('Assets:Bank:Check9999', True), ('Assets:Bank:CheckCard', True), ('Assets:Bank:Checking', True), @@ -83,10 +74,27 @@ def test_is_real_asset(acct_name, expected): ('Assets:Check9999', True), ('Assets:CheckCard', True), ('Assets:Checking', True), - ('Assets:PrepaidExpenses', False), - ('Assets:Savings', False), - ('Expenses:CheckingFees', False), - ('Income:Interest:Checking', False), + ('Assets:Prepaid:Expenses', False), + ('Assets:Receivable:Accounts', False), + ('Expenses:Other', False), + ('Equity:OpeningBalance', False), + ('Income:Other', False), + ('Liabilities:CreditCard', False), ]) def test_is_checking(acct_name, expected): assert data.Account(acct_name).is_checking() == expected + +@pytest.mark.parametrize('acct_name,expected', [ + ('Assets:Cash', False), + ('Assets:Prepaid:Expenses', False), + ('Assets:Receivable:Accounts', False), + ('Expenses:Other', False), + ('Equity:OpeningBalance', False), + ('Income:Other', False), + ('Liabilities:CreditCard', True), + ('Liabilities:CreditCard:Visa', True), + ('Liabilities:Payable:Accounts', False), + ('Liabilities:UnearnedIncome:Donations', False), +]) +def test_is_credit_card(acct_name, expected): + assert data.Account(acct_name).is_credit_card() == expected