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 = []