"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "gnucash/report/reports/standard/test/test-cash-flow.scm" between
gnucash-5.0.tar.bz2 and gnucash-5.1.tar.bz2

About: GnuCash is personal and small-business financial-accounting software.

test-cash-flow.scm  (gnucash-5.0.tar.bz2):test-cash-flow.scm  (gnucash-5.1.tar.bz2)
skipping to change at line 16 skipping to change at line 16
(use-modules (gnucash report)) (use-modules (gnucash report))
(use-modules (ice-9 format)) (use-modules (ice-9 format))
(define (run-test) (define (run-test)
(and (test test-one-tx-in-cash-flow) (and (test test-one-tx-in-cash-flow)
(test test-one-tx-skip-cash-flow) (test test-one-tx-skip-cash-flow)
(test test-both-way-cash-flow))) (test test-both-way-cash-flow)))
(define structure (define structure
(list "Root" (list (cons 'type ACCT-TYPE-ASSET)) (list "Root" (list (cons 'type ACCT-TYPE-ASSET))
(list "Asset" (list "Asset"
(list "Bank") (list "Bank")
(list "Wallet")) (list "Wallet"))
(list "Expenses" (list (cons 'type ACCT-TYPE-EXPENSE))))) (list "Expenses" (list (cons 'type ACCT-TYPE-EXPENSE)))))
(define (NDayDelta t64 n) (define (NDayDelta t64 n)
(let* ((day-secs (* 60 60 24 n)) ; n days in seconds is n times 60 sec/min * 6 0 min/h * 24 h/day (let* ((day-secs (* 60 60 24 n)) ; n days in seconds is n times 60 sec/min * 6 0 min/h * 24 h/day
(new-secs (- t64 day-secs))) (new-secs (- t64 day-secs)))
new-secs)) new-secs))
(define (to-report-currency curr amt date) amt) (define (to-report-currency curr amt date) amt)
(define (exchange-fn mon comm) mon) (define (exchange-fn mon comm) mon)
(define (test-one-tx-in-cash-flow) (define (test-one-tx-in-cash-flow)
(let* ((env (create-test-env)) (let* ((env (create-test-env))
(account-alist (env-create-account-structure-alist env structure)) (account-alist (env-create-account-structure-alist env structure))
(bank-account (cdr (assoc "Bank" account-alist))) (bank-account (cdr (assoc "Bank" account-alist)))
(wallet-account (cdr (assoc "Wallet" account-alist))) (wallet-account (cdr (assoc "Wallet" account-alist)))
(expense-account (cdr (assoc "Expenses" account-alist))) (expense-account (cdr (assoc "Expenses" account-alist)))
(today (gnc-localtime (current-time))) (today (gnc-localtime (current-time)))
(to-date-t64 (gnc-dmy2time64-end (tm:mday today) (+ 1 (tm:mon today)) ( + 1900 (tm:year today)))) (to-date-t64 (gnc-dmy2time64-end (tm:mday today) (+ 1 (tm:mon today)) ( + 1900 (tm:year today))))
(from-date-t64 (NDayDelta to-date-t64 1)) (from-date-t64 (NDayDelta to-date-t64 1))
(report-currency (gnc-default-report-currency)) (report-currency (gnc-default-report-currency))
) )
(env-create-transaction env to-date-t64 bank-account expense-account 100/1) (env-create-transaction env to-date-t64 bank-account expense-account 100/1)
(let ((result (cash-flow-calc-money-in-out (list (cons 'accounts (list bank- account)) (let ((result (cash-flow-calc-money-in-out (list (cons 'accounts (list bank- account))
(cons 'to-date-t64 to-date-t (cons 'to-date-t64 to-date-
64) t64)
(cons 'from-date-t64 from-da (cons 'from-date-t64 from-d
te-t64) ate-t64)
(cons 'report-currency repor (cons 'report-currency repo
t-currency) rt-currency)
(cons 'include-trading-accou (cons 'include-trading-acco
nts #f) unts #f)
(cons 'to-report-currency to (cons 'to-report-currency t
-report-currency))))) o-report-currency)))))
(let* ((money-in-collector (cdr (assq 'money-in-collector result))) (let* ((money-in-collector (cdr (assq 'money-in-collector result)))
(money-out-collector (cdr (assq 'money-out-collector result))) (money-out-collector (cdr (assq 'money-out-collector result)))
(money-in-alist (cdr (assq 'money-in-alist result))) (money-in-alist (cdr (assq 'money-in-alist result)))
(money-out-alist (cdr (assq 'money-out-alist result))) (money-out-alist (cdr (assq 'money-out-alist result)))
(expense-acc-in-collector (cadr (assoc expense-account money-in-alis (expense-acc-in-collector (cadr (assoc expense-account money-in-ali
t)))) st))))
(and (or (null? money-out-alist) (and (or (null? money-out-alist)
(begin (format #t "The money-out-alist is not null.~%") #f)) (begin (format #t "The money-out-alist is not null.~%") #f))
(or (equal? 10000/100 (or (equal? 10000/100
(gnc:gnc-monetary-amount (gnc:sum-collector-commodity expens (gnc:gnc-monetary-amount (gnc:sum-collector-commodity expen
e-acc-in-collector se-acc-in-collector
report repor
-currency exchange-fn))) t-currency exchange-fn)))
(begin (format #t "Failed expense-acc-in-collector ~a expected 100.00~%" (gnc:gnc-monetary-amount (gnc:sum-collector-commodity expense-acc-in-c ollector (begin (format #t "Failed expense-acc-in-collector ~a expected 100.00~%" (gnc:gnc-monetary-amount (gnc:sum-collector-commodity expense-acc-in-c ollector
report repor
-currency exchange-fn))) #f)) t-currency exchange-fn))) #f))
(or (equal? 10000/100 (or (equal? 10000/100
(gnc:gnc-monetary-amount (gnc:sum-collector-commodity money- (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money
in-collector -in-collector
report repor
-currency exchange-fn))) t-currency exchange-fn)))
(begin (format #t "Failed money-in-collector ~a expected 100.00 ~%" (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money-in-collector (begin (format #t "Failed money-in-collector ~a expected 100.00 ~%" (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money-in-collector
report repor
-currency exchange-fn))) #f)) t-currency exchange-fn))) #f))
(or (equal? 0/1 (or (equal? 0/1
(gnc:gnc-monetary-amount (gnc:sum-collector-commodity money- (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money
out-collector -out-collector
report repor
-currency exchange-fn))) t-currency exchange-fn)))
(begin (format #t "Failed sum-collector-commodity ~a expected 1 00.00~%" (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money-out-collect or (begin (format #t "Failed sum-collector-commodity ~a expected 1 00.00~%" (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money-out-collect or
report-currency e xchange-fn))) #f)) report-currency e xchange-fn))) #f))
(begin (format #t "test-one-tx-in-cash-flow success~%") #t) (begin (format #t "test-one-tx-in-cash-flow success~%") #t)
))))) )))))
(define (test-one-tx-skip-cash-flow) (define (test-one-tx-skip-cash-flow)
(let* ((env (create-test-env)) (let* ((env (create-test-env))
(account-alist (env-create-account-structure-alist env structure)) (account-alist (env-create-account-structure-alist env structure))
(bank-account (cdr (assoc "Bank" account-alist))) (bank-account (cdr (assoc "Bank" account-alist)))
(wallet-account (cdr (assoc "Wallet" account-alist))) (wallet-account (cdr (assoc "Wallet" account-alist)))
(expense-account (cdr (assoc "Expenses" account-alist))) (expense-account (cdr (assoc "Expenses" account-alist)))
(today (gnc-localtime (current-time))) (today (gnc-localtime (current-time)))
(to-date-t64 (gnc-dmy2time64-end (tm:mday today) (+ 1 (tm:mon today)) ( + 1900 (tm:year today)))) (to-date-t64 (gnc-dmy2time64-end (tm:mday today) (+ 1 (tm:mon today)) ( + 1900 (tm:year today))))
(from-date-t64 (NDayDelta to-date-t64 1)) (from-date-t64 (NDayDelta to-date-t64 1))
(report-currency (gnc-default-report-currency)) (report-currency (gnc-default-report-currency))
) )
(env-create-transaction env to-date-t64 bank-account wallet-account 100/1) (env-create-transaction env to-date-t64 bank-account wallet-account 100/1)
(let ((result (cash-flow-calc-money-in-out (list (cons 'accounts (list walle t-account bank-account)) (let ((result (cash-flow-calc-money-in-out (list (cons 'accounts (list walle t-account bank-account))
(cons 'to-date-t64 to-date-t (cons 'to-date-t64 to-date-
64) t64)
(cons 'from-date-t64 from-da (cons 'from-date-t64 from-d
te-t64) ate-t64)
(cons 'report-currency repor (cons 'report-currency repo
t-currency) rt-currency)
(cons 'include-trading-accou (cons 'include-trading-acco
nts #f) unts #f)
(cons 'to-report-currency to (cons 'to-report-currency t
-report-currency))))) o-report-currency)))))
(let* ((money-in-collector (cdr (assq 'money-in-collector result))) (let* ((money-in-collector (cdr (assq 'money-in-collector result)))
(money-out-collector (cdr (assq 'money-out-collector result))) (money-out-collector (cdr (assq 'money-out-collector result)))
(money-in-alist (cdr (assq 'money-in-alist result))) (money-in-alist (cdr (assq 'money-in-alist result)))
(money-out-alist (cdr (assq 'money-out-alist result)))) (money-out-alist (cdr (assq 'money-out-alist result))))
(and (null? money-in-alist) (and (null? money-in-alist)
(null? money-out-alist) (null? money-out-alist)
(equal? 0/1 (equal? 0/1
(gnc:gnc-monetary-amount (gnc:sum-collector-commodity money- (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money
in-collector -in-collector
report repor
-currency exchange-fn))) t-currency exchange-fn)))
(equal? 0/1 (equal? 0/1
(gnc:gnc-monetary-amount (gnc:sum-collector-commodity money- (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money
out-collector -out-collector
report repor
-currency exchange-fn))) t-currency exchange-fn)))
(begin (format #t "test-one-tx-skip-cash-flow success~%") #t) (begin (format #t "test-one-tx-skip-cash-flow success~%") #t)
))))) )))))
(define (test-both-way-cash-flow) (define (test-both-way-cash-flow)
(let* ((env (create-test-env)) (let* ((env (create-test-env))
(account-alist (env-create-account-structure-alist env structure)) (account-alist (env-create-account-structure-alist env structure))
(bank-account (cdr (assoc "Bank" account-alist))) (bank-account (cdr (assoc "Bank" account-alist)))
(wallet-account (cdr (assoc "Wallet" account-alist))) (wallet-account (cdr (assoc "Wallet" account-alist)))
(expense-account (cdr (assoc "Expenses" account-alist))) (expense-account (cdr (assoc "Expenses" account-alist)))
(today (gnc-localtime (current-time))) (today (gnc-localtime (current-time)))
(to-date-t64 (gnc-dmy2time64-end (tm:mday today) (+ 1 (tm:mon today)) ( + 1900 (tm:year today)))) (to-date-t64 (gnc-dmy2time64-end (tm:mday today) (+ 1 (tm:mon today)) ( + 1900 (tm:year today))))
(from-date-t64 (NDayDelta to-date-t64 1)) (from-date-t64 (NDayDelta to-date-t64 1))
(report-currency (gnc-default-report-currency)) (report-currency (gnc-default-report-currency))
) )
(env-create-transaction env to-date-t64 bank-account expense-account 100/1) (env-create-transaction env to-date-t64 bank-account expense-account 100/1)
(env-create-transaction env to-date-t64 expense-account bank-account 50/1) (env-create-transaction env to-date-t64 expense-account bank-account 50/1)
(let ((result (cash-flow-calc-money-in-out (list (cons 'accounts (list walle t-account bank-account)) (let ((result (cash-flow-calc-money-in-out (list (cons 'accounts (list walle t-account bank-account))
(cons 'to-date-t64 to-date-t (cons 'to-date-t64 to-date-
64) t64)
(cons 'from-date-t64 from-da (cons 'from-date-t64 from-d
te-t64) ate-t64)
(cons 'report-currency repor (cons 'report-currency repo
t-currency) rt-currency)
(cons 'include-trading-accou (cons 'include-trading-acco
nts #f) unts #f)
(cons 'to-report-currency to (cons 'to-report-currency t
-report-currency))))) o-report-currency)))))
(let* ((money-in-collector (cdr (assq 'money-in-collector result))) (let* ((money-in-collector (cdr (assq 'money-in-collector result)))
(money-out-collector (cdr (assq 'money-out-collector result))) (money-out-collector (cdr (assq 'money-out-collector result)))
(money-in-alist (cdr (assq 'money-in-alist result))) (money-in-alist (cdr (assq 'money-in-alist result)))
(money-out-alist (cdr (assq 'money-out-alist result))) (money-out-alist (cdr (assq 'money-out-alist result)))
(expense-acc-in-collector (cadr (assoc expense-account money-in-alis (expense-acc-in-collector (cadr (assoc expense-account money-in-ali
t))) st)))
(expense-acc-out-collector (cadr (assoc expense-account money-out-al (expense-acc-out-collector (cadr (assoc expense-account money-out-a
ist))) list)))
(expenses-in-total (gnc:gnc-monetary-amount (gnc:sum-collector-commo (expenses-in-total (gnc:gnc-monetary-amount (gnc:sum-collector-comm
dity expense-acc-in-collector odity expense-acc-in-collector
report-currency report-currency
exchange-fn))) exchange-fn)))
(expenses-out-total (gnc:gnc-monetary-amount (gnc:sum-collector-comm (expenses-out-total (gnc:gnc-monetary-amount (gnc:sum-collector-com
odity expense-acc-out-collector modity expense-acc-out-collector
report-currency report-currency
exchange-fn)))) exchange-fn))))
(and (equal? 10000/100 expenses-in-total) (and (equal? 10000/100 expenses-in-total)
(equal? 5000/100 expenses-out-total) (equal? 5000/100 expenses-out-total)
(equal? 10000/100 (equal? 10000/100
(gnc:gnc-monetary-amount (gnc:sum-collector-commodity money- (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money
in-collector -in-collector
report repor
-currency exchange-fn))) t-currency exchange-fn)))
(equal? 5000/100 (equal? 5000/100
(gnc:gnc-monetary-amount (gnc:sum-collector-commodity money- (gnc:gnc-monetary-amount (gnc:sum-collector-commodity money
out-collector -out-collector
report repor
-currency exchange-fn))) t-currency exchange-fn)))
(begin (format #t "test-both-way-cash-flow success~%") #t) (begin (format #t "test-both-way-cash-flow success~%") #t)
))))) )))))
 End of changes. 17 change blocks. 
127 lines changed or deleted 127 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)