Commit Graph

240 Commits

Author SHA1 Message Date
Simon Michael
08607362b0 refactor assertParse/assertParseEqual 2010-03-10 19:48:46 +00:00
gwern0
357f56d0f4 de-haskell98 2010-03-09 01:51:21 +00:00
Simon Michael
a50d3e2b71 refactor, allow in-module unit tests
Until now, all unit tests were defined in Tests.hs. Pro: simple, makes
code/test line counting easy. Con: tests are far from code, Tests.hs turns
into a big wall of test code. Now, unit tests can also be defined in modules.

To avoid name clashes and template haskell complexity, a dumb manual
naming scheme is used: any module may export a hunit Test(List) named
tests_ModuleName. These are manually aggregated and re-exported when
appropriate, eg in Commands.All and finally in Tests.hs.
2010-03-08 21:47:36 +00:00
Simon Michael
3969dff3fc parsing: @ was being treated as a currency symbol; a few more tests 2010-03-06 21:47:10 +00:00
Simon Michael
50200e38ed more cleanup, move journal text into Journal 2009-12-21 05:43:10 +00:00
Simon Michael
a2b8faa4d6 big refactoring, do filtering afresh in each command
We now do data filtering/massage as late as possible, not just once at
startup. This should work better for multiple commands, as with web or ui.
The basic benchmark seems at least as good as before thanks to laziness.
2009-12-21 05:23:07 +00:00
Simon Michael
60bda57a26 drop LedgerPosting, it's no longer needed; more rename cleanups 2009-12-19 05:57:54 +00:00
Simon Michael
ec95b0723c make Postings reference their parent Transaction
With this change, Transactions and Postings reference each other
co-recursively.  This makes constructing them more tedious, but it
may also allow LedgerPostings to be dropped and code to be simplified.
Time and space performance of register and balance is as before.
2009-12-19 03:44:52 +00:00
Simon Michael
f1813fbb0e more LedgerTransaction/Transaction/LedgerPosting field renames 2009-12-16 17:58:51 +00:00
Simon Michael
30b83bb105 rename LedgerTransaction to Transaction 2009-12-16 08:07:26 +00:00
Simon Michael
0656d575ac rename Transaction to LedgerPosting 2009-12-16 07:58:06 +00:00
Simon Michael
2e9b27da0d rename RawLedger to Journal 2009-12-16 07:00:43 +00:00
Simon Michael
2d8a5950d1 drop obsolete doctests, update docs in Tests module 2009-07-09 20:55:50 +00:00
Simon Michael
636a3a7d10 docs: update test docs 2009-06-27 08:17:15 +00:00
marko.kocic
8414f06416 Hlint: Warning: Use liftM 2009-09-23 09:35:50 +00:00
Simon Michael
5cfc8cf630 fix a tricky mixedamount arithmetic bug 2009-11-25 19:42:13 +00:00
Simon Michael
53b7962658 fix all recently-broken tests 2009-11-25 12:21:59 +00:00
Simon Michael
9560073b2a make historical prices more robust, fix a runtime Map.find error 2009-12-09 20:51:00 +00:00
Simon Michael
a17346149c a ledger remembers when it was read from disk 2009-08-12 09:21:46 +00:00
marko.kocic
b197693197 Hlint: Warning: Redundant brackets 2009-09-22 16:51:27 +00:00
marko.kocic
2855fe9e0a Hlint: Error: Redundant do 2009-09-22 12:08:28 +00:00
marko.kocic
8fdd28d446 Hlint: Error: Redundant $ 2009-09-22 11:55:11 +00:00
Simon Michael
3b9c6448be more test tweaks 2009-06-27 11:02:28 +00:00
marko.kocic
ddc176d83e Hlint: Warning: Eta reduce 2009-09-22 15:56:59 +00:00
Simon Michael
4e5d463927 refactor parseWithCtx utility 2009-06-20 03:59:37 +00:00
Simon Michael
06eb2a9aa8 --effective option uses transactions' effective dates, if any 2009-07-08 23:37:44 +00:00
Simon Michael
29cc846dc0 avoid exitSuccess for base 3 compatibility (issue #2) 2009-06-22 15:47:05 +00:00
Simon Michael
60f5beb359 fix a broken doctest 2009-06-22 18:25:52 +00:00
Simon Michael
72ad595542 reflect success/failure in doctest and unittest runners' exit codes 2009-06-05 17:29:20 +00:00
Simon Michael
d1418a2a21 show better errors for unbalanced transaction and missing default year 2009-06-05 19:35:12 +00:00
Simon Michael
00ad42e629 eliding/layout tests, commented out since I don't know what it should do 2009-06-05 19:35:47 +00:00
Simon Michael
3be793f108 fix nafai's bug: fail on empty account name components, don't just ignore 2009-06-05 18:02:22 +00:00
Simon Michael
cb8ea69dfc fix warnings all over - hledger is now -W-clean 2009-06-05 09:44:20 +00:00
Simon Michael
92d67926f5 print, register: show virtual accounts bracketed/parenthesised 2009-05-24 06:22:44 +00:00
Simon Michael
568e752484 allow parentheses and brackets inside account names, as ledger does 2009-05-25 17:28:41 +00:00
Simon Michael
fe5498f6c2 various utilities & doc updates - commodities, daysInSpan, underline 2009-05-29 10:02:14 +00:00
Simon Michael
6c6eb2691e drop old-locale dependency 2009-06-03 23:44:01 +00:00
Simon Michael
d35792bf3f move commands to their own subpackage 2009-06-02 18:29:01 +00:00
Simon Michael
8ba2163ccd --quarterly option 2009-04-03 11:55:48 +00:00
Simon Michael
7d1c01ec8a consistent lower-case aliases for working with Ledgers, and examples 2009-04-04 22:38:18 +00:00
Simon Michael
1572622ae6 use a consistent prefix for Transaction field accessors 2009-04-04 21:26:55 +00:00
Simon Michael
ca3f55933b haddock 2009-04-04 22:41:18 +00:00
Simon Michael
a78f5a1f04 model timelog entry codes precisely 2009-04-03 20:04:51 +00:00
Simon Michael
2edd2da7b8 nullentry -> nullledgertxn 2009-04-07 21:38:15 +00:00
Simon Michael
2eb5f40875 fix is argument order 2009-04-07 23:01:38 +00:00
Simon Michael
a36e0ab30c more tests 2009-04-08 03:10:35 +00:00
Simon Michael
f40d561273 fix bug in eliding of posting amounts 2009-04-07 23:58:04 +00:00
Simon Michael
1085d476f1 parse zero-length input as an empty ledger 2009-04-10 05:42:26 +00:00
Simon Michael
69ce8b9a8e don't treat comments as part of ledger transaction descriptions 2009-04-10 05:37:26 +00:00
Simon Michael
5d1f535b5e require some postings in ledger transactions 2009-04-10 05:00:51 +00:00