aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-11-06 00:44:17 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2023-11-16 00:51:19 +0100
commite4308e887ff887920cf7a558ee9e9d8b14280d07 (patch)
tree78cb0d179672ede90c993243af7b65b0a62fb02b
parentCleanup swedish word numbers. (diff)
downloadcalp-e4308e887ff887920cf7a558ee9e9d8b14280d07.tar.gz
calp-e4308e887ff887920cf7a558ee9e9d8b14280d07.tar.xz
Finish (text numbers) tests.
-rw-r--r--module/text/numbers.scm2
-rw-r--r--tests/unit/text/numbers-en.scm21
-rw-r--r--tests/unit/text/numbers-sv-short.scm12
-rw-r--r--tests/unit/text/numbers.scm10
4 files changed, 44 insertions, 1 deletions
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))