diff --git a/tests/test_reconcile.py b/tests/test_reconcile.py index 5f75d3aae4c6a48df2a62ddfdb56b4e5ecef5eb8..ea9fe8e6bd0e9dbe996883a016b13fec886d392f 100644 --- a/tests/test_reconcile.py +++ b/tests/test_reconcile.py @@ -1,24 +1,32 @@ import datetime import decimal -from conservancy_beancount.reconcile.prototype_amex_reconciler import match_statement_and_books2 as match_statement_and_books, remove_payee_junk, date_proximity +from conservancy_beancount.reconcile.prototype_amex_reconciler import ( + match_statement_and_books, + remove_payee_junk, + date_proximity, + remove_duplicate_words, +) S1 = { 'date': datetime.date(2022, 1, 1), 'amount': decimal.Decimal('10.00'), 'payee': 'Patreon / Patreon / 123456/ ST-A1B2C3D4G5H6 /', + 'check_id': '', 'line': 222, } S2 = { 'date': datetime.date(2022, 1, 2), 'amount': decimal.Decimal('20.00'), 'payee': 'BT*LINODE PHILADELPHIA P', + 'check_id': '', 'line': 333, } S3 = { 'date': datetime.date(2022, 1, 3), 'amount': decimal.Decimal('30.00'), 'payee': 'USPS PO 4067540039 0PORTLAND OR', + 'check_id': '', 'line': 444, } @@ -26,8 +34,7 @@ B1 = { 'date': datetime.date(2022, 1, 1), 'amount': decimal.Decimal('10.00'), 'payee': 'Patreon', - 'entity': '', - 'check_id': None, + 'check_id': '', 'filename': '2022/imports.beancount', 'line': 777, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" @@ -36,8 +43,7 @@ B2 = { 'date': datetime.date(2022, 1, 2), 'amount': decimal.Decimal('20.00'), 'payee': 'Linode', - 'entity': '', - 'check_id': None, + 'check_id': '', 'filename': '2022/main.beancount', 'line': 888, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" @@ -46,8 +52,7 @@ B3_next_day = { 'date': datetime.date(2022, 1, 4), 'amount': decimal.Decimal('30.00'), 'payee': 'USPS', - 'entity': '', - 'check_id': None, + 'check_id': '', 'filename': '2022/main.beancount', 'line': 999, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" @@ -56,8 +61,7 @@ B3_next_week = { 'date': datetime.date(2022, 1, 10), 'amount': decimal.Decimal('30.00'), 'payee': 'USPS', - 'entity': '', - 'check_id': None, + 'check_id': '', 'filename': '2022/main.beancount', 'line': 999, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" @@ -66,8 +70,7 @@ B3_mismatch_amount = { 'date': datetime.date(2022, 1, 3), 'amount': decimal.Decimal('31.00'), 'payee': 'USPS', - 'entity': '', - 'check_id': None, + 'check_id': '', 'filename': '2022/main.beancount', 'line': 999, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" @@ -76,8 +79,7 @@ B3_payee_mismatch_1 = { 'date': datetime.date(2022, 1, 3), 'amount': decimal.Decimal('30.00'), 'payee': 'Credit X', - 'entity': '', - 'check_id': None, + 'check_id': '', 'filename': '2022/main.beancount', 'line': 999, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" @@ -86,8 +88,7 @@ B3_payee_mismatch_2 = { 'date': datetime.date(2022, 1, 3), 'amount': decimal.Decimal('30.00'), 'payee': 'Credit Y', - 'entity': '', - 'check_id': None, + 'check_id': '', 'filename': '2022/main.beancount', 'line': 999, 'bank_statement': "Financial/Bank-Statements/AMEX/2022-01-12_AMEX_statement.pdf" @@ -173,3 +174,7 @@ def test_date_proximity(): assert date_proximity(datetime.date(2021, 8, 23), datetime.date(2021, 8, 23)) == 1.0 assert date_proximity(datetime.date(2021, 8, 23), datetime.date(2021, 8, 23) - datetime.timedelta(days=30)) == 0.5 assert date_proximity(datetime.date(2021, 8, 23), datetime.date(2021, 8, 23) - datetime.timedelta(days=60)) == 0.0 + + +def test_remove_duplicate_words(): + assert remove_duplicate_words('Hi Foo Kow FOO') == 'Hi Foo Kow'