From e4308e887ff887920cf7a558ee9e9d8b14280d07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Hugo=20H=C3=B6rnquist?= Date: Mon, 6 Nov 2023 00:44:17 +0100 Subject: Finish (text numbers) tests. --- module/text/numbers.scm | 2 +- tests/unit/text/numbers-en.scm | 21 +++++++++++++++++++++ tests/unit/text/numbers-sv-short.scm | 12 ++++++++++++ tests/unit/text/numbers.scm | 10 ++++++++++ 4 files changed, 44 insertions(+), 1 deletion(-) create mode 100644 tests/unit/text/numbers-en.scm create mode 100644 tests/unit/text/numbers.scm diff --git a/module/text/numbers.scm b/module/text/numbers.scm index ad859a16..cc734b1b 100644 --- a/module/text/numbers.scm +++ b/module/text/numbers.scm @@ -31,4 +31,4 @@ optional: (language (resolve-language)) rest: extra-kvs) (apply (get language 'each-string) - count args)) + count extra-kvs)) diff --git a/tests/unit/text/numbers-en.scm b/tests/unit/text/numbers-en.scm new file mode 100644 index 00000000..e56a244f --- /dev/null +++ b/tests/unit/text/numbers-en.scm @@ -0,0 +1,21 @@ +(define-module (test text-numbers-en) + :use-module (srfi srfi-1) + :use-module (srfi srfi-64) + :use-module (srfi srfi-71) + :use-module (text numbers)) + +(test-equal "one hundred twenty-three million, four hundred fifty-six thousand, seven hundred eighty-nine" + (number->string-cardinal 123456789 'en)) +(test-equal "one hundred twenty-three million, four hundred fifty-six thousand, seven hundred eighty-ninth" + (number->string-ordinal 123456789 'en)) + +(test-group "each-string en" + (test-equal "each" + (each-string 1 'en)) + (test-equal "every other" + (each-string 2 'en)) + (test-equal "every third" + (each-string 3 'en))) + +'((text numbers) + (text numbers en)) diff --git a/tests/unit/text/numbers-sv-short.scm b/tests/unit/text/numbers-sv-short.scm index a5b1ff1e..ffedf578 100644 --- a/tests/unit/text/numbers-sv-short.scm +++ b/tests/unit/text/numbers-sv-short.scm @@ -202,5 +202,17 @@ (number->string-ordinal #e1e66 'sv)) ) +(test-group "each-string sv" + (test-equal "varje" + (each-string 1 'sv)) + (test-equal "varannan" + (each-string 2 'sv)) + (test-equal "vartannat" + (each-string 2 'sv neutrum: #t)) + (test-equal "var tredje" + (each-string 3 'sv)) + (test-equal "vart tredje" + (each-string 3 'sv neutrum: #t))) + '((text numbers) (text numbers sv)) diff --git a/tests/unit/text/numbers.scm b/tests/unit/text/numbers.scm new file mode 100644 index 00000000..5ac8bce4 --- /dev/null +++ b/tests/unit/text/numbers.scm @@ -0,0 +1,10 @@ +(define-module (test text-numbers-en) + :use-module (srfi srfi-1) + :use-module (srfi srfi-64) + :use-module (text numbers)) + +(test-equal "Fallback for non-existing language" + "one hundred twenty-three" + (number->string-cardinal 123 'missing-language)) + +'((text numbers)) -- cgit v1.2.3