Commit graph

40 commits

Author SHA1 Message Date
John Wiegley
5cdd36f358 Further improved parsing of query expressions
Fixes #210 / D4C2DD6F-8967-4FFC-BBBC-A941F9C53475
2010-06-01 18:33:13 -04:00
John Wiegley
038c24357e Changed --european option to --decimal-comma
Fixes #211 / 1736ACA5-5DE6-4826-AEB4-DB5B2A2217AC
2010-06-01 17:56:41 -04:00
John Wiegley
b2c426abae Fixed one of the ExprTests 2009-11-15 22:13:53 -05:00
John Wiegley
c3535d06c8 Redesigned the expr_t, predicate_t, query_t classes 2009-11-09 02:06:06 -05:00
John Wiegley
d6d8ed6d99 Fixes to the Python unit tests 2009-10-28 23:09:35 -04:00
John Wiegley
9a07652fd8 Disabled some of the expression tests under Python 2009-10-28 22:50:33 -04:00
John Wiegley
47df7dd60e Rewrote the report query parser
It is now a full parser that parses report queries directly into value
expression trees.  These then get rendered into text so that other
options may extend the expression.
2009-10-28 18:40:31 -04:00
John Wiegley
05529b2c68 Call times_initialize/shutdown in the unit tests 2009-10-25 05:40:26 -04:00
John Wiegley
092bda1435 Don't increase precision so much when dividing
Slow the increase in internal precision when dividing amounts.

Use "--debug amount.convert" if you wish to see this logic in action, if
a case where incorrect rounding is suspected comes up.

Fixes B68FFB0D-A9A0-479C-A6C0-68853F229333
2009-06-15 17:52:38 +01:00
John Wiegley
dda7c3a58a Rewrote the date interval parser/stepper
The new implementation uses boost::gregorian::date_duration objects,
rather than manually stepping.
2009-03-23 01:22:26 -04:00
John Wiegley
110f0b8023 Enabled use of pre-compiled headers by default 2009-03-10 17:02:03 -04:00
John Wiegley
c11d325712 Reduced the #include dependency tree to a minimum 2009-03-04 23:53:43 -04:00
John Wiegley
38122c2224 Corrected warnings g++-4.3.3 was complaining about 2009-02-28 04:54:54 -04:00
John Wiegley
f7f07310f4 Be smarter about trimming off trailing zeroes 2009-02-27 13:58:30 -04:00
John Wiegley
55a6d588ff Allow uncommoditized amounts to +/- with an amount
Thus, you can say "$100 + 10" to increase it by $10.
2009-02-25 23:40:15 -04:00
John Wiegley
f13709f71a Be smarter about printing uncommoditized amounts 2009-02-24 15:13:21 -04:00
John Wiegley
d525db35d8 Restored the use of Python unit tests 2009-02-24 13:16:28 -04:00
John Wiegley
e124811d8a Added --exchange (-x) option
This is like -V, except it lets you specify the goal commodity to report
in terms of, for example:

    reg -x CAD
2009-02-22 04:51:11 -04:00
John Wiegley
fc349389e3 Restored the --budget option 2009-02-20 23:12:23 -04:00
John Wiegley
3826cb1bee Re-enabled parsing of timelog data 2009-02-19 15:50:24 -04:00
John Wiegley
d0a664d102 Fixed several unused value and param warnings 2009-02-16 16:55:18 -04:00
John Wiegley
d1f13be1d2 Fixed some incorrect #includes. 2009-02-07 19:48:29 -04:00
John Wiegley
2d941730b1 Largely removed all of Ledger's use of global variables, for the REPL's sake. 2009-02-04 19:55:27 -04:00
John Wiegley
bee8e50166 Removed serialization tests from the amount_t unit tests. 2009-02-03 19:06:56 -04:00
John Wiegley
cce65b8dd2 Added a more efficient amount_t::operator==, which changed semantics slightly. 2009-01-31 04:58:16 -04:00
John Wiegley
e9ff5caa13 Rationals based math is now passing the unit tests. 2009-01-31 04:25:05 -04:00
John Wiegley
5ec98f3ed3 Several corrections to the way rationals are handled. 2009-01-31 01:25:29 -04:00
John Wiegley
e4c7df4002 Don't perform rounding tests in Python. 2009-01-31 01:22:51 -04:00
John Wiegley
b42ef31d93 Make amounts output fullstrings in the commodity unit tests. 2009-01-31 01:22:23 -04:00
John Wiegley
f1257cbc3e Removed all dependency on gdtoa. 2009-01-30 16:19:31 -04:00
John Wiegley
9495ca740b Fixed the amount_t unit test. 2009-01-30 00:43:54 -04:00
John Wiegley
ef934efb3a Added a slew of date/time format tests (inactive, however). 2009-01-30 00:41:23 -04:00
John Wiegley
e851c02d27 Unit test for Python are now auto-generated from the C++ tests. 2009-01-28 20:49:26 -04:00
John Wiegley
79a7976600 Reorganized Ledger so that it builds as 7 separate libraries. This is mainly
to prove to myself that it has proper decoupling between prior code areas.
2009-01-25 01:10:05 -04:00
John Wiegley
49b83c0d6f Further extended commodities unit test. 2009-01-19 20:05:18 -04:00
John Wiegley
85be211f99 Extended commodities unit test. 2009-01-19 19:58:59 -04:00
John Wiegley
009dd3969a Added a recursive, date-based commodity price searching capability. This
makes it possible to find all possible prices for a commodity by walking the
map of pricing relationships to all other commodities, even if the relation is
distant.
2009-01-19 17:48:27 -04:00
John Wiegley
9c1389f423 Increase code coverage of the unit tests. 2008-08-13 18:21:39 -04:00
John Wiegley
54f2a8012f Moved several tests around again (python/test -> test/python). 2008-08-06 18:23:50 -04:00
John Wiegley
36cd816404 Moved the test sources around, so that all the unit tests are in test/unit. 2008-08-05 19:48:42 -04:00