File diff b2e35d098aa3 → ccc3a829da9e
tests/test_reports_related_postings.py
Show inline comments
...
 
@@ -197,6 +197,38 @@ def test_balance_at_cost_empty():
 
    balance = related.balance_at_cost()
 
    assert balance.is_zero()
 

	
 
@pytest.mark.parametrize('date,expected', [
 
    (testutil.FY_MID_DATE - datetime.timedelta(days=1), 0),
 
    (testutil.FY_MID_DATE, 0),
 
    (testutil.FY_MID_DATE + datetime.timedelta(days=1), 25),
 
    (testutil.FY_MID_DATE + datetime.timedelta(days=2), 70),
 
    (testutil.FY_MID_DATE + datetime.timedelta(days=3), 135),
 
    (testutil.FY_MID_DATE + datetime.timedelta(days=4), 135),
 
])
 
def test_balance_at_cost_by_date(date, expected):
 
    dates = testutil.date_seq()
 
    jpy_cost = ('0.01', 'USD')
 
    entries = [
 
        testutil.Transaction(date=next(dates), postings=[
 
            ('Assets:Cash', 1000, 'JPY', jpy_cost),
 
            ('Assets:Cash', 15),
 
        ]),
 
        testutil.Transaction(date=next(dates), postings=[
 
            ('Assets:Cash', 2000, 'JPY', jpy_cost),
 
            ('Assets:Cash', 25),
 
        ]),
 
        testutil.Transaction(date=next(dates), postings=[
 
            ('Assets:Cash', 3000, 'JPY', jpy_cost),
 
            ('Assets:Cash', 35),
 
        ]),
 
    ]
 
    related = core.RelatedPostings(data.Posting.from_entries(entries))
 
    actual = related.balance_at_cost_by_date(date)
 
    if not expected:
 
        assert actual.is_zero()
 
    else:
 
        assert actual == {'USD': testutil.Amount(expected)}
 

	
 
def test_meta_values_empty():
 
    related = core.RelatedPostings()
 
    assert related.meta_values('key') == set()