Changeset - f1c115de49a8
[Not reviewed]
0 1 0
Brett Smith - 4 years ago 2020-03-19 13:32:06
brettcsmith@brettcsmith.org
testutil: Improve check_post_meta error reporting.

This version makes it easier to get diffs between the expected
and actual metadata.
1 file changed with 4 insertions and 2 deletions:
0 comments (0 inline, 0 general)
tests/testutil.py
Show inline comments
...
 
@@ -30,14 +30,16 @@ PAST_DATE = datetime.date(2000, 1, 1)
 
def check_post_meta(txn, *expected_meta, default=None):
 
    assert len(txn.postings) == len(expected_meta)
 
    for post, expected in zip(txn.postings, expected_meta):
 
        if not expected:
 
            assert not post.meta
 
        else:
 
            assert all(post.meta.get(key, default) == value
 
                       for key, value in expected.items())
 
            actual = None if post.meta is None else {
 
                key: post.meta.get(key, default) for key in expected
 
            }
 
            assert actual == expected
 

	
 
def parse_date(s, fmt='%Y-%m-%d'):
 
    return datetime.datetime.strptime(s, fmt).date()
 

	
 
def Posting(account, number,
 
            currency='USD', cost=None, price=None, flag=None,
0 comments (0 inline, 0 general)