diff --git a/gnucash/report/standard-reports/test/test-budget.scm b/gnucash/report/standard-reports/test/test-budget.scm index 21e5063164..f59439c7d1 100644 --- a/gnucash/report/standard-reports/test/test-budget.scm +++ b/gnucash/report/standard-reports/test/test-budget.scm @@ -32,6 +32,7 @@ (use-modules (sw_engine)) (use-modules (gnucash report standard-reports budget)) (use-modules (gnucash report standard-reports budget-income-statement)) +(use-modules (gnucash report standard-reports budget-balance-sheet)) (use-modules (gnucash report report-system test test-extras)) (use-modules (gnucash report stylesheets)) (use-modules (gnucash engine test test-extras)) @@ -41,6 +42,7 @@ (setlocale LC_ALL "C") (define budget-uuid "810ed4b25ef0486ea43bbd3dddb32b11") (define budget-is-uuid "583c313fcc484efc974c4c844404f454") +(define budget-bs-uuid "ecc35ea9dbfa4e20ba389fc85d59cb69") (define (run-test) (test-runner-factory gnc:test-runner) @@ -51,6 +53,9 @@ (test-group-with-cleanup "budget-income-statement.scm" (test-budget-income-statement) (teardown)) + (test-group-with-cleanup "budget-balance-sheet.scm" + (test-budget-balance-sheet) + (teardown)) (test-end "budget")) (define (set-option options page tag value) @@ -176,3 +181,72 @@ ((sxpath '(// table // (tr 2) // table // (tr 5) // *text*)) sxml))))) +(define (test-budget-balance-sheet) + (let* ((env (create-test-env)) + (account-alist (create-test-data)) + (budget (gnc:create-budget-and-transactions env account-alist)) + (options (gnc:make-report-options budget-bs-uuid)) + (bank (assoc-ref account-alist "Bank"))) + + (display "\nbudget-balance-sheet.scm\n") + (let ((sxml (options->sxml options budget-bs-uuid "budget-bs-basic"))) + (test-equal "basic test" + 52 + (length (sxml->table-row-col sxml 1 #f #f))) + + (test-equal "existing assets" + '("Existing Assets" "$3,118.00") + (sxml->table-row-col sxml 1 8 #f)) + + (test-equal "allocated assets" + '("Allocated Assets" "$120.00") + (sxml->table-row-col sxml 1 9 #f)) + + (test-equal "unallocated assets" + '("Unallocated Assets" "-$405.00") + (sxml->table-row-col sxml 1 10 #f)) + + (test-equal "total assets" + '("Total Assets" "$2,833.00") + (sxml->table-row-col sxml 1 11 #f)) + + (test-equal "existing liab" + '("Existing Liabilities" "$3.00") + (sxml->table-row-col sxml 1 16 #f)) + + (test-equal "new liab" + '("New Liabilities" "$0.00") + (sxml->table-row-col sxml 1 17 #f)) + + (test-equal "total liab" + '("Total Liabilities" "$3.00") + (sxml->table-row-col sxml 1 18 #f)) + + (test-equal "retained earnings" + '("Existing Retained Earnings" "$3,227.00") + (sxml->table-row-col sxml 1 22 #f)) + + (test-equal "retained losses" + '("New Retained Losses" "$285.00") + (sxml->table-row-col sxml 1 23 #f)) + + (test-equal "unrealized losses" + '("Unrealized Losses" "$1.00") + (sxml->table-row-col sxml 1 24 #f)) + + (test-equal "existing equity" + '("Existing Equity" "$3,115.00") + (sxml->table-row-col sxml 1 25 #f)) + + (test-equal "new equity" + '("New Equity" "-$285.00") + (sxml->table-row-col sxml 1 26 #f)) + + (test-equal "total equity" + '("Total Equity" "$2,830.00") + (sxml->table-row-col sxml 1 27 #f)) + + (test-equal "total liab and equity" + '("Total Liabilities & Equity" "$2,833.00") + (sxml->table-row-col sxml 1 29 #f))))) +