Fixes bug 514. accounts and commodities output now sorts
updated tests included.
This commit is contained in:
parent
5d1971ee51
commit
f9da94c909
6 changed files with 25 additions and 11 deletions
|
|
@ -308,6 +308,13 @@ std::ostream& operator<<(std::ostream& out, const account_t& account);
|
|||
void put_account(property_tree::ptree& pt, const account_t& acct,
|
||||
function<bool(const account_t&)> pred);
|
||||
|
||||
//simple struct added to allow std::map to compare accounts in the accounts report
|
||||
struct account_compare {
|
||||
bool operator() (const account_t& lhs, const account_t& rhs){
|
||||
return (lhs.fullname().compare(rhs.fullname()) < 0);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace ledger
|
||||
|
||||
#endif // _ACCOUNT_H
|
||||
|
|
|
|||
|
|
@ -349,6 +349,13 @@ inline std::ostream& operator<<(std::ostream& out, const commodity_t& comm) {
|
|||
void put_commodity(property_tree::ptree& pt, const commodity_t& comm,
|
||||
bool commodity_details = false);
|
||||
|
||||
//simple struct to allow std::map to compare commodities names
|
||||
struct commodity_compare {
|
||||
bool operator() (const commodity_t* lhs, const commodity_t* rhs){
|
||||
return (lhs->symbol().compare(rhs->symbol()) < 0);
|
||||
}
|
||||
};
|
||||
|
||||
} // namespace ledger
|
||||
|
||||
#endif // _COMMODITY_H
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ class report_accounts : public item_handler<post_t>
|
|||
protected:
|
||||
report_t& report;
|
||||
|
||||
std::map<account_t *, std::size_t> accounts;
|
||||
std::map<account_t *, std::size_t, account_compare> accounts;
|
||||
|
||||
typedef std::map<account_t *, std::size_t>::value_type accounts_pair;
|
||||
|
||||
|
|
@ -194,7 +194,7 @@ class report_commodities : public item_handler<post_t>
|
|||
protected:
|
||||
report_t& report;
|
||||
|
||||
std::map<commodity_t *, std::size_t> commodities;
|
||||
std::map<commodity_t *, std::size_t, commodity_compare> commodities;
|
||||
|
||||
typedef std::map<commodity_t *, std::size_t>::value_type commodities_pair;
|
||||
|
||||
|
|
|
|||
|
|
@ -15,12 +15,12 @@
|
|||
Assets:Testing123ÕßDone
|
||||
|
||||
test accounts
|
||||
Assets:Bank
|
||||
Equity:Opening balance
|
||||
Assets:XXX
|
||||
Assets:AAA
|
||||
Assets:♚
|
||||
Assets:Bank
|
||||
Assets:Testing123ÕßDone
|
||||
Assets:XXX
|
||||
Assets:♚
|
||||
Equity:Opening balance
|
||||
end test
|
||||
|
||||
test accounts assets:a
|
||||
|
|
|
|||
|
|
@ -15,10 +15,10 @@
|
|||
Income:Rewards
|
||||
|
||||
test commodities
|
||||
GBP
|
||||
AAA
|
||||
"AA2"
|
||||
"M&M"
|
||||
AAA
|
||||
GBP
|
||||
end test
|
||||
|
||||
test commodities Assets:Rewards
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@
|
|||
Assets:Cash -30.00 EUR
|
||||
|
||||
test accounts --count
|
||||
2 Expenses:Phone
|
||||
4 Assets:Cash
|
||||
2 Expenses:Phone
|
||||
2 Expenses:Rent
|
||||
end test
|
||||
|
||||
test commodities --count
|
||||
4 GBP
|
||||
4 EUR
|
||||
4 GBP
|
||||
end test
|
||||
|
||||
test payees --count
|
||||
|
|
@ -33,8 +33,8 @@ test payees --count
|
|||
end test
|
||||
|
||||
test commodities :rent --count
|
||||
1 GBP
|
||||
1 EUR
|
||||
1 GBP
|
||||
end test
|
||||
|
||||
test payees tag bnb --count
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue