gnucash maint: Multiple changes pushed

Geert Janssens gjanssens at code.gnucash.org
Mon Sep 10 09:08:45 EDT 2018


Updated	 via  https://github.com/Gnucash/gnucash/commit/196decf6 (commit)
	 via  https://github.com/Gnucash/gnucash/commit/4d57df22 (commit)
	from  https://github.com/Gnucash/gnucash/commit/1117027f (commit)



commit 196decf64918fc5e6aabb2ddaf02e42271f21280
Merge: 1117027 4d57df2
Author: Geert Janssens <geert at kobaltwit.be>
Date:   Mon Sep 10 14:48:04 2018 +0200

    Merge branch 'maint-fix-test-report-utilities' of https://github.com/christopherlam/gnucash into maint


commit 4d57df2293c28ee891408e8b703cd1b87ea806bb
Author: Christopher Lam <christopher.lck at gmail.com>
Date:   Mon Sep 10 20:05:21 2018 +0800

    [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.

diff --git a/gnucash/report/report-system/test/test-report-utilities.scm b/gnucash/report/report-system/test/test-report-utilities.scm
index 042b7ef..531901b 100644
--- a/gnucash/report/report-system/test/test-report-utilities.scm
+++ b/gnucash/report/report-system/test/test-report-utilities.scm
@@ -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)))



Summary of changes:
 .../report-system/test/test-report-utilities.scm   | 71 +++++++++++-----------
 1 file changed, 37 insertions(+), 34 deletions(-)



More information about the gnucash-changes mailing list