mirror of
https://github.com/Gnucash/gnucash.git
synced 2025-02-25 18:55:30 -06:00
[test-report-utilities] changes to make tests locale independent
1. LC_ALL should set default-report-currency to USD 2. change test monetary output from list-of-strings '("$25.00") to monetary pairs '(("USD" . 25)) which should be locale independent.
This commit is contained in:
parent
a19dcc7bd4
commit
4d57df2293
@ -9,6 +9,8 @@
|
||||
(use-modules (gnucash report report-system test test-extras))
|
||||
(use-modules (gnucash report report-system))
|
||||
|
||||
(setlocale LC_ALL "C")
|
||||
|
||||
(define (run-test)
|
||||
(test-runner-factory gnc:test-runner)
|
||||
(test-begin "report-utilities")
|
||||
@ -27,8 +29,10 @@
|
||||
|
||||
(define (collector->list coll)
|
||||
;; input: collector
|
||||
;; output: list of strings e.g. '("$25.00" "-£15.00")
|
||||
(map gnc:monetary->string (coll 'format gnc:make-gnc-monetary #f)))
|
||||
;; output: list of monetary pairs e.g. '(("USD" . 25) ("GBP" . 15.00))
|
||||
(define (monetary->pair comm amt)
|
||||
(cons (gnc-commodity-get-mnemonic comm) amt))
|
||||
(append (coll 'format monetary->pair #f)))
|
||||
|
||||
(define (test-account-get-trans-type-splits-interval)
|
||||
(test-group-with-cleanup "test-account-get-trans-type-splits-interval"
|
||||
@ -95,9 +99,8 @@
|
||||
(monetary (gnc:make-gnc-monetary
|
||||
(gnc-commodity-table-lookup comm-table "CURRENCY" "USD")
|
||||
100)))
|
||||
(test-equal "gnc:monetary->string"
|
||||
"$100.00"
|
||||
(gnc:monetary->string monetary)))
|
||||
(test-assert "gnc:monetary->string is a string"
|
||||
(string? (gnc:monetary->string monetary))))
|
||||
(teardown)))
|
||||
|
||||
(define (test-commodity-collector)
|
||||
@ -116,17 +119,17 @@
|
||||
|
||||
(coll-A 'add USD 25)
|
||||
(test-equal "coll-A 'add USD25"
|
||||
'("$25.00")
|
||||
'(("USD" . 25))
|
||||
(collector->list coll-A))
|
||||
|
||||
(coll-A 'add USD 25)
|
||||
(test-equal "coll-A 'add USD25"
|
||||
'("$50.00")
|
||||
'(("USD" . 50))
|
||||
(collector->list coll-A))
|
||||
|
||||
(coll-A 'add GBP 20)
|
||||
(test-equal "coll-A 'add GBP20"
|
||||
'("£20.00" "$50.00")
|
||||
'(("GBP" . 20) ("USD" . 50))
|
||||
(collector->list coll-A))
|
||||
|
||||
(coll-A 'reset #f #f)
|
||||
@ -137,19 +140,19 @@
|
||||
(coll-A 'add USD 25)
|
||||
(coll-B 'add GBP 20)
|
||||
(test-equal "coll-B 'add GBP20"
|
||||
'("£20.00")
|
||||
'(("GBP" . 20))
|
||||
(collector->list coll-B))
|
||||
|
||||
(coll-A 'merge coll-B #f)
|
||||
(test-equal "coll-A 'merge coll-B"
|
||||
'("£20.00" "$25.00")
|
||||
'(("GBP" . 20) ("USD" . 25))
|
||||
(collector->list coll-A))
|
||||
|
||||
(coll-A 'reset #f #f)
|
||||
(coll-A 'add USD 25)
|
||||
(coll-A 'minusmerge coll-B #f)
|
||||
(test-equal "coll-A 'minusmerge coll-B"
|
||||
'("-£20.00" "$25.00")
|
||||
'(("GBP" . -20) ("USD" . 25))
|
||||
(collector->list coll-A))
|
||||
|
||||
(test-equal "coll-A 'getpair USD"
|
||||
@ -161,12 +164,12 @@
|
||||
(coll-A 'getmonetary USD #f))
|
||||
|
||||
(test-equal "gnc:commodity-collector-get-negated"
|
||||
'("-$25.00" "£20.00")
|
||||
'(("USD" . -25) ("GBP" . 20))
|
||||
(collector->list
|
||||
(gnc:commodity-collector-get-negated coll-A)))
|
||||
|
||||
(test-equal "gnc:commodity-collectorlist-get-merged"
|
||||
'("$25.00" "£0.00")
|
||||
'(("USD" . 25) ("GBP" . 0))
|
||||
(collector->list
|
||||
(gnc:commodity-collectorlist-get-merged (list coll-A coll-B))))
|
||||
|
||||
@ -269,17 +272,17 @@
|
||||
(gnc:account-get-balance-at-date asset (gnc-dmy2time64 01 01 2001) #f))
|
||||
|
||||
(test-equal "gnc:account-get-comm-balance-at-date 1/1/2001 incl children"
|
||||
'("£608.00" "$2,301.00")
|
||||
'(("GBP" . 608) ("USD" . 2301))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-balance-at-date asset (gnc-dmy2time64 01 01 2001) #t)))
|
||||
|
||||
(test-equal "gnc:account-get-comm-balance-at-date 1/1/2001 excl children"
|
||||
'("$15.00")
|
||||
'(("USD" . 15))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-balance-at-date asset (gnc-dmy2time64 01 01 2001) #f)))
|
||||
|
||||
(test-equal "gnc:account-get-comm-value-interval 1/1/2000-1/1/2001 excl children"
|
||||
'("$9.00" "-£15.00")
|
||||
'(("USD" . 9) ("GBP" . -15))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-value-interval gbp-bank
|
||||
(gnc-dmy2time64 01 01 2000)
|
||||
@ -287,7 +290,7 @@
|
||||
#f)))
|
||||
|
||||
(test-equal "gnc:account-get-comm-value-interval 1/1/2000-1/1/2001 incl children"
|
||||
'("$9.00" "-£10.00")
|
||||
'(("USD" . 9) ("GBP" . -10))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-value-interval gbp-bank
|
||||
(gnc-dmy2time64 01 01 2000)
|
||||
@ -295,21 +298,21 @@
|
||||
#t)))
|
||||
|
||||
(test-equal "gnc:account-get-comm-value-at-date 1/1/2001 excl children"
|
||||
'("$9.00" "£597.00")
|
||||
'(("USD" . 9) ("GBP" . 597))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-value-at-date gbp-bank
|
||||
(gnc-dmy2time64 01 01 2001)
|
||||
#f)))
|
||||
|
||||
(test-equal "gnc:account-get-comm-value-at-date 1/1/2001 incl children"
|
||||
'("$9.00" "£602.00")
|
||||
'(("USD" . 9) ("GBP" . 602))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-value-at-date gbp-bank
|
||||
(gnc-dmy2time64 01 01 2001)
|
||||
#t)))
|
||||
|
||||
(test-equal "gnc:accounts-get-comm-total-profit"
|
||||
'("£612.00" "$2,389.00")
|
||||
'(("GBP" . 612) ("USD" . 2389))
|
||||
(collector->list
|
||||
(gnc:accounts-get-comm-total-profit all-accounts
|
||||
(lambda (acct)
|
||||
@ -317,7 +320,7 @@
|
||||
acct (gnc-dmy2time64 01 01 2001) #f)))))
|
||||
|
||||
(test-equal "gnc:accounts-get-comm-total-income"
|
||||
'("£612.00" "$2,573.00")
|
||||
'(("GBP" . 612) ("USD" . 2573))
|
||||
(collector->list
|
||||
(gnc:accounts-get-comm-total-income all-accounts
|
||||
(lambda (acct)
|
||||
@ -325,7 +328,7 @@
|
||||
acct (gnc-dmy2time64 01 01 2001) #f)))))
|
||||
|
||||
(test-equal "gnc:accounts-get-comm-total-expense"
|
||||
'("-$184.00")
|
||||
'(("USD" . -184))
|
||||
(collector->list
|
||||
(gnc:accounts-get-comm-total-expense all-accounts
|
||||
(lambda (acct)
|
||||
@ -333,7 +336,7 @@
|
||||
acct (gnc-dmy2time64 01 01 2001) #f)))))
|
||||
|
||||
(test-equal "gnc:accounts-get-comm-total-assets"
|
||||
'("£608.00" "$2,394.00")
|
||||
'(("GBP" . 608) ("USD" . 2394))
|
||||
(collector->list
|
||||
(gnc:accounts-get-comm-total-assets all-accounts
|
||||
(lambda (acct)
|
||||
@ -355,7 +358,7 @@
|
||||
#f))
|
||||
|
||||
(test-equal "gnc:account-comm-balance-interval 1/1/1960-1/1/2001 incl children"
|
||||
'("£608.00")
|
||||
'(("GBP" . 608))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-balance-interval gbp-bank
|
||||
(gnc-dmy2time64 01 01 1960)
|
||||
@ -363,7 +366,7 @@
|
||||
#t)))
|
||||
|
||||
(test-equal "gnc:account-comm-balance-interval 1/1/1960-1/1/2001 excl children"
|
||||
'("£603.00")
|
||||
'(("GBP" . 603))
|
||||
(collector->list
|
||||
(gnc:account-get-comm-balance-interval gbp-bank
|
||||
(gnc-dmy2time64 01 01 1960)
|
||||
@ -371,27 +374,27 @@
|
||||
#f)))
|
||||
|
||||
(test-equal "gnc:accountlist-get-comm-balance-interval"
|
||||
'("$279.00")
|
||||
'(("USD" . 279))
|
||||
(collector->list
|
||||
(gnc:accountlist-get-comm-balance-interval (list expense)
|
||||
(gnc-dmy2time64 15 01 1970)
|
||||
(gnc-dmy2time64 01 01 2001))))
|
||||
|
||||
(test-equal "gnc:accountlist-get-comm-balance-interval-with-closing"
|
||||
'("$168.00")
|
||||
'(("USD" . 168))
|
||||
(collector->list
|
||||
(gnc:accountlist-get-comm-balance-interval-with-closing (list expense)
|
||||
(gnc-dmy2time64 15 01 1970)
|
||||
(gnc-dmy2time64 01 01 2001))))
|
||||
|
||||
(test-equal "gnc:accountlist-get-comm-balance-at-date"
|
||||
'("$295.00")
|
||||
'(("USD" . 295))
|
||||
(collector->list
|
||||
(gnc:accountlist-get-comm-balance-at-date (list expense)
|
||||
(gnc-dmy2time64 01 01 2001))))
|
||||
|
||||
(test-equal "gnc:accountlist-get-comm-balance-interval-with-closing"
|
||||
'("$184.00")
|
||||
'(("USD" . 184))
|
||||
(collector->list
|
||||
(gnc:accountlist-get-comm-balance-at-date-with-closing (list expense)
|
||||
(gnc-dmy2time64 01 01 2001))))
|
||||
@ -401,7 +404,7 @@
|
||||
(gnc:accounts-count-splits (list expense income)))
|
||||
|
||||
(test-equal "gnc:account-get-total-flow 'in"
|
||||
'("£14.00" "$2,544.00")
|
||||
'(("GBP" . 14) ("USD" . 2544))
|
||||
(collector->list
|
||||
(gnc:account-get-total-flow 'in
|
||||
(list bank)
|
||||
@ -409,7 +412,7 @@
|
||||
(gnc-dmy2time64 01 01 2001))))
|
||||
|
||||
(test-equal "gnc:account-get-total-flow 'out"
|
||||
'("-$296.00")
|
||||
'(("USD" . -296))
|
||||
(collector->list
|
||||
(gnc:account-get-total-flow 'out
|
||||
(list bank)
|
||||
@ -423,11 +426,11 @@
|
||||
acct (gnc-dmy2time64 01 01 2001) #f)))))
|
||||
|
||||
(test-equal "gnc:get-assoc-account-balances"
|
||||
'("$2,286.00")
|
||||
'(("USD" . 2286))
|
||||
(collector->list (car (assoc-ref account-balances bank))))
|
||||
|
||||
(test-equal "gnc:select-assoc-account-balance - hit"
|
||||
'("$2,286.00")
|
||||
'(("USD" . 2286))
|
||||
(collector->list
|
||||
(gnc:select-assoc-account-balance account-balances bank)))
|
||||
|
||||
@ -437,7 +440,7 @@
|
||||
(gnc:select-assoc-account-balance account-balances expense)))
|
||||
|
||||
(test-equal "gnc:get-assoc-account-balances-total"
|
||||
'("£603.00" "$2,286.00")
|
||||
'(("GBP" . 603) ("USD" . 2286))
|
||||
(collector->list
|
||||
(gnc:get-assoc-account-balances-total account-balances)))))
|
||||
(teardown)))
|
||||
|
Loading…
Reference in New Issue
Block a user