From d41bc5e9b62ff145113a00044f822091e518dc95 Mon Sep 17 00:00:00 2001 From: Brett Smith Date: Wed, 22 Apr 2020 12:02:06 -0400 Subject: [PATCH] reports: Add RelatedPostings.clear() method. --- conservancy_beancount/reports/core.py | 3 +++ tests/test_reports_related_postings.py | 7 +++++++ 2 files changed, 10 insertions(+) diff --git a/conservancy_beancount/reports/core.py b/conservancy_beancount/reports/core.py index 1d271a7..3a0fbbe 100644 --- a/conservancy_beancount/reports/core.py +++ b/conservancy_beancount/reports/core.py @@ -126,6 +126,9 @@ class RelatedPostings(Sequence[data.Posting]): def add(self, post: data.Posting) -> None: self._postings.append(post) + def clear(self) -> None: + self._postings.clear() + def iter_with_balance(self) -> Iterable[Tuple[data.Posting, Balance]]: balance = MutableBalance() for post in self: diff --git a/tests/test_reports_related_postings.py b/tests/test_reports_related_postings.py index f0bb60b..1848c0f 100644 --- a/tests/test_reports_related_postings.py +++ b/tests/test_reports_related_postings.py @@ -78,6 +78,13 @@ def test_balance_credit_card(credit_card_cycle): assert related.balance() == testutil.balance_map(USD=expected) assert expected == 0 +def test_clear(): + related = core.RelatedPostings() + related.add(testutil.Posting('Income:Donations', -10)) + assert related.balance() + related.clear() + assert not related.balance() + def check_iter_with_balance(entries): expect_posts = [txn.postings[0] for txn in entries] expect_balances = []