Example #1
0
    def holdings(self, aggregation_key=None):
        holdings_list = get_final_holdings(
            self.entries, (self.account_types.assets, self.account_types.liabilities), self.price_map, self.date_last
        )

        if aggregation_key:
            holdings_list = aggregate_holdings_by(holdings_list, aggregation_key)
        return holdings_list
Example #2
0
def test_aggregate_holdings_by():
    assert aggregate_holdings_list([]) is None

    holdings = [
        Posting('Assets', A('10 HOOL'), None, None, None, None),
        Posting('Assets:Test', A('14 HOL'), None, None, None, None),
    ]
    assert aggregate_holdings_by(holdings, 'account') == holdings
    assert aggregate_holdings_by(holdings, 'currency') == holdings
    assert aggregate_holdings_by(holdings, 'invalid') == holdings

    holdings = [
        Posting('Assets', A('10 HOOL'), None, None, None, None),
        Posting('Assets', A('14 HOOL'), None, None, None, None),
    ]
    assert aggregate_holdings_by(holdings, 'account') == \
        [aggregate_holdings_list(holdings)]
Example #3
0
def test_aggregate_holdings_by():
    assert aggregate_holdings_list([]) is None

    holdings = [
        Posting('Assets', A('10 HOOL'), None, None, None, None),
        Posting('Assets:Test', A('14 HOL'), None, None, None, None),
    ]
    assert aggregate_holdings_by(holdings, 'account') == holdings
    assert aggregate_holdings_by(holdings, 'currency') == holdings
    assert aggregate_holdings_by(holdings, 'invalid') == holdings

    holdings = [
        Posting('Assets', A('10 HOOL'), None, None, None, None),
        Posting('Assets', A('14 HOOL'), None, None, None, None),
    ]
    assert aggregate_holdings_by(holdings, 'account') == \
        [aggregate_holdings_list(holdings)]
Example #4
0
    def holdings(self, aggregation_key=None):
        holdings_list = get_final_holdings(
            self.entries,
            (self.account_types.assets, self.account_types.liabilities),
            self.price_map,
            self.date_last
        )

        if aggregation_key:
            holdings_list = aggregate_holdings_by(holdings_list,
                                                  aggregation_key)
        return holdings_list