mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
[test-balsheet-pnl] separate balance-sheet and pnl tests
This is in preparation for balsheet-pnl tests. Note all tests use same data -- there's no (teardown).
This commit is contained in:
parent
119fdc368b
commit
88644451ef
@ -23,7 +23,9 @@
|
||||
(test-runner-factory gnc:test-runner)
|
||||
(test-begin "balsheet and profit&loss")
|
||||
(null-test)
|
||||
(balsheet-pnl-tests)
|
||||
(create-test-data)
|
||||
(balance-sheet-tests)
|
||||
(pnl-tests)
|
||||
(test-end "balsheet and profit&loss"))
|
||||
|
||||
(define (options->sxml uuid options test-title)
|
||||
@ -80,7 +82,7 @@
|
||||
(let ((balance-sheet-options (gnc:make-report-options balance-sheet-uuid)))
|
||||
(test-assert "null-test" (options->sxml balance-sheet-uuid balance-sheet-options "null-test"))))
|
||||
|
||||
(define (balsheet-pnl-tests)
|
||||
(define (create-test-data)
|
||||
;; This function will perform implementation testing on the transaction report.
|
||||
(let* ((env (create-test-env))
|
||||
(account-alist (env-create-account-structure-alist env structure))
|
||||
@ -95,23 +97,7 @@
|
||||
(bank2creditcard (cdr (assoc "CreditCard" account-alist)))
|
||||
(equity (cdr (assoc "Equity" account-alist)))
|
||||
(income (cdr (assoc "Income" account-alist)))
|
||||
(income-GBP (cdr (assoc "Income-GBP" account-alist)))
|
||||
(YEAR (gnc:time64-get-year (gnc:get-today))))
|
||||
|
||||
(define (default-balsheet-testing-options)
|
||||
(let ((balance-sheet-options (gnc:make-report-options balance-sheet-uuid)))
|
||||
(set-option! balance-sheet-options "General" "Balance Sheet Date" (cons 'absolute (gnc-dmy2time64 1 1 1971)))
|
||||
(set-option! balance-sheet-options "Accounts" "Levels of Subaccounts" 'all)
|
||||
(set-option! balance-sheet-options "Commodities" "Show Exchange Rates" #t)
|
||||
balance-sheet-options))
|
||||
|
||||
(define (default-pnl-testing-options)
|
||||
(let ((pnl-options (gnc:make-report-options pnl-uuid)))
|
||||
(set-option! pnl-options "General" "Start Date" (cons 'absolute (gnc-dmy2time64 1 1 1980)))
|
||||
(set-option! pnl-options "General" "End Date" (cons 'absolute (gnc-dmy2time64 1 1 1981)))
|
||||
(set-option! pnl-options "Accounts" "Levels of Subaccounts" 'all)
|
||||
(set-option! pnl-options "Commodities" "Show Exchange Rates" #t)
|
||||
pnl-options))
|
||||
(income-GBP (cdr (assoc "Income-GBP" account-alist))))
|
||||
|
||||
;; $100 in Savings account
|
||||
(env-transfer env 01 01 1970 equity bank1savings 100)
|
||||
@ -169,12 +155,19 @@
|
||||
;; a couple INCOME transactions, a decade later
|
||||
(env-transfer env 01 01 1980 income bank1current 250)
|
||||
(env-transfer env 01 01 1980 income-GBP foreignsavings 500)
|
||||
(env-transfer-foreign env 01 02 1980 income-GBP bank1current 100 170 #:description "earn 100GBP into $170")
|
||||
(env-transfer-foreign env 01 02 1980 income-GBP bank1current 100 170 #:description "earn 100GBP into $170")))
|
||||
|
||||
;; Finally we can begin testing balsheet
|
||||
(define (balance-sheet-tests)
|
||||
(define (default-balsheet-testing-options)
|
||||
(let ((balance-sheet-options (gnc:make-report-options balance-sheet-uuid)))
|
||||
(set-option! balance-sheet-options "General" "Balance Sheet Date" (cons 'absolute (gnc-dmy2time64 1 1 1971)))
|
||||
(set-option! balance-sheet-options "Accounts" "Levels of Subaccounts" 'all)
|
||||
(set-option! balance-sheet-options "Commodities" "Show Exchange Rates" #t)
|
||||
balance-sheet-options))
|
||||
(display "\n\n balsheet tests\n\n")
|
||||
(let* ((balance-sheet-options (default-balsheet-testing-options))
|
||||
(sxml (options->sxml balance-sheet-uuid balance-sheet-options "balsheet-default")))
|
||||
|
||||
(test-equal "total assets = $116,009"
|
||||
(list "$116,009.00")
|
||||
(sxml->table-row-col sxml 1 15 6))
|
||||
@ -355,9 +348,16 @@
|
||||
(sxml->table-row-col sxml 1 3 6))
|
||||
(test-equal "incl-zb-accts=#t"
|
||||
'("Empty" "$0.00")
|
||||
(sxml->table-row-col sxml 1 8 #f)))
|
||||
)
|
||||
(sxml->table-row-col sxml 1 8 #f)))))
|
||||
|
||||
(define (pnl-tests)
|
||||
(define (default-pnl-testing-options)
|
||||
(let ((pnl-options (gnc:make-report-options pnl-uuid)))
|
||||
(set-option! pnl-options "General" "Start Date" (cons 'absolute (gnc-dmy2time64 1 1 1980)))
|
||||
(set-option! pnl-options "General" "End Date" (cons 'absolute (gnc-dmy2time64 1 1 1981)))
|
||||
(set-option! pnl-options "Accounts" "Levels of Subaccounts" 'all)
|
||||
(set-option! pnl-options "Commodities" "Show Exchange Rates" #t)
|
||||
pnl-options))
|
||||
(display "\n\n pnl tests\n\n")
|
||||
(let* ((pnl-options (default-pnl-testing-options))
|
||||
(sxml (options->sxml pnl-uuid pnl-options "pnl-default")))
|
||||
@ -464,5 +464,4 @@
|
||||
|
||||
;;make-multilevel
|
||||
(set-option! pnl-options "Display" "Parent account balances" 'immediate-bal)
|
||||
(set-option! pnl-options "Display" "Parent account subtotals" 't)
|
||||
)))
|
||||
(set-option! pnl-options "Display" "Parent account subtotals" 't)))
|
||||
|
Loading…
Reference in New Issue
Block a user