aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHugo Hörnquist <hugo@lysator.liu.se>2023-11-02 15:26:31 +0100
committerHugo Hörnquist <hugo@lysator.liu.se>2023-11-06 00:46:26 +0100
commit24b131b737c0cb825d32e738f27e11135dd741ac (patch)
treedcf9aaf4e19b7661a151ef8de8cf60406f481955
parentDisable complete swedish number tests. (diff)
downloadcalp-24b131b737c0cb825d32e738f27e11135dd741ac.tar.gz
calp-24b131b737c0cb825d32e738f27e11135dd741ac.tar.xz
Add new, much shorter tests for swedish numbers.
These have the same code coverage as the old one, and should contain enough examples to catch all the same cases.
-rw-r--r--tests/unit/text/numbers-sv-short.scm178
1 files changed, 178 insertions, 0 deletions
diff --git a/tests/unit/text/numbers-sv-short.scm b/tests/unit/text/numbers-sv-short.scm
new file mode 100644
index 00000000..1633d8e6
--- /dev/null
+++ b/tests/unit/text/numbers-sv-short.scm
@@ -0,0 +1,178 @@
+(define-module (test text-numbers-sv)
+ :use-module (srfi srfi-64)
+ :use-module (srfi srfi-71)
+ :use-module (text numbers))
+
+(test-group "Cardinal numbers"
+
+ (test-equal "minus två" (number->string-cardinal -2 'sv))
+ (test-equal "minus ett" (number->string-cardinal -1 'sv))
+ (test-equal "noll" (number->string-cardinal 0 'sv))
+ (test-equal "ett" (number->string-cardinal 1 'sv))
+ (test-equal "två" (number->string-cardinal 2 'sv))
+ (test-equal "tre" (number->string-cardinal 3 'sv))
+ (test-equal "fyra" (number->string-cardinal 4 'sv))
+ (test-equal "fem" (number->string-cardinal 5 'sv))
+ (test-equal "sex" (number->string-cardinal 6 'sv))
+ (test-equal "sju" (number->string-cardinal 7 'sv))
+ (test-equal "åtta" (number->string-cardinal 8 'sv))
+ (test-equal "nio" (number->string-cardinal 9 'sv))
+ (test-equal "tio" (number->string-cardinal 10 'sv))
+ (test-equal "elva" (number->string-cardinal 11 'sv))
+ (test-equal "tolv" (number->string-cardinal 12 'sv))
+ (test-equal "tretton" (number->string-cardinal 13 'sv))
+ (test-equal "fjorton" (number->string-cardinal 14 'sv))
+ (test-equal "femton" (number->string-cardinal 15 'sv))
+ (test-equal "sexton" (number->string-cardinal 16 'sv))
+ (test-equal "sjutton" (number->string-cardinal 17 'sv))
+ (test-equal "arton" (number->string-cardinal 18 'sv))
+ (test-equal "nitton" (number->string-cardinal 19 'sv))
+ (test-equal "tjugo" (number->string-cardinal 20 'sv))
+ (test-equal "tjugoett" (number->string-cardinal 21 'sv))
+ (test-equal "trettio" (number->string-cardinal 30 'sv))
+ (test-equal "trettiotvå" (number->string-cardinal 32 'sv))
+ (test-equal "fyrtio" (number->string-cardinal 40 'sv))
+ (test-equal "fyrtiotre" (number->string-cardinal 43 'sv))
+ (test-equal "femtio" (number->string-cardinal 50 'sv))
+ (test-equal "femtiofyra" (number->string-cardinal 54 'sv))
+ (test-equal "sextio" (number->string-cardinal 60 'sv))
+ (test-equal "sextiofem" (number->string-cardinal 65 'sv))
+ (test-equal "sjuttio" (number->string-cardinal 70 'sv))
+ (test-equal "sjuttiosex" (number->string-cardinal 76 'sv))
+ (test-equal "åttio" (number->string-cardinal 80 'sv))
+ (test-equal "åttiosju" (number->string-cardinal 87 'sv))
+ (test-equal "nittio" (number->string-cardinal 90 'sv))
+ (test-equal "nittioåtta" (number->string-cardinal 98 'sv))
+ (test-equal "etthundra" (number->string-cardinal 100 'sv))
+ (test-equal "etthundraett" (number->string-cardinal 101 'sv))
+ (test-equal "etthundraåttioåtta" (number->string-cardinal 188 'sv))
+ (test-equal "tvåhundra" (number->string-cardinal 200 'sv))
+ (test-equal "tvåhundrasextioett" (number->string-cardinal 261 'sv))
+ (test-equal "ettusen" (number->string-cardinal 1000 'sv))
+ (test-equal "ettusen sex" (number->string-cardinal 1006 'sv))
+ (test-equal "ettusen niohundrasjuttiosju" (number->string-cardinal 1977 'sv))
+ (test-equal "tvåtusen fyrtioåtta" (number->string-cardinal 2048 'sv))
+
+ (test-equal "tiotusen" (number->string-cardinal 10000 'sv))
+ (test-equal "nittiotusen" (number->string-cardinal 90000 'sv))
+ (test-equal "nittioåttatusen sjuhundrasextiofem" (number->string-cardinal 98765 'sv))
+
+ (test-equal "etthundratusen" (number->string-cardinal 100000 'sv))
+ (test-equal "niohundratusen" (number->string-cardinal 900000 'sv))
+ (test-equal "niohundraåttiosjutusen sexhundrafemtiofyra" (number->string-cardinal 987654 'sv))
+
+ (test-equal "en miljon" (number->string-cardinal 1000000 'sv))
+ (test-equal "nio miljoner" (number->string-cardinal 9000000 'sv))
+ (test-equal "nio miljoner åttahundrasjuttiosex tusen femhundrafyrtiotre"
+ (number->string-cardinal 9876543 'sv))
+
+ (test-equal "tio miljoner" (number->string-cardinal 10000000 'sv))
+ (test-equal "etthundra miljoner" (number->string-cardinal 100000000 'sv))
+ (test-equal "niohundraåttiosju miljoner sexhundrafemtiofyra tusen trehundratjugoett"
+ (number->string-cardinal 987654321 'sv))
+ (test-equal "en miljard" (number->string-cardinal 1000000000 'sv))
+ (test-equal "en biljon" (number->string-cardinal 1000000000000 'sv))
+ (test-equal "en biljard" (number->string-cardinal #e10e15 'sv))
+ (test-equal "en triljon" (number->string-cardinal #e10e18 'sv))
+ (test-equal "en triljard" (number->string-cardinal #e10e21 'sv))
+ (test-equal "en kvadriljon" (number->string-cardinal #e10e24 'sv))
+ (test-equal "en kvadriljard" (number->string-cardinal #e10e27 'sv))
+ (test-equal "en kvintiljon" (number->string-cardinal #e10e30 'sv))
+ )
+
+(test-group "Ordinal numbers"
+ (test-equal "nollte" (number->string-ordinal 0 'sv a-form?: #t))
+ (test-equal "första" (number->string-ordinal 1 'sv a-form?: #t))
+ (test-equal "andra" (number->string-ordinal 2 'sv a-form?: #t))
+ (test-equal "tredje" (number->string-ordinal 3 'sv a-form?: #t))
+ (test-equal "fjärde" (number->string-ordinal 4 'sv a-form?: #t))
+ (test-equal "femte" (number->string-ordinal 5 'sv a-form?: #t))
+ (test-equal "sjätte" (number->string-ordinal 6 'sv a-form?: #t))
+ (test-equal "sjunde" (number->string-ordinal 7 'sv a-form?: #t))
+ (test-equal "åttonde" (number->string-ordinal 8 'sv a-form?: #t))
+ (test-equal "nionde" (number->string-ordinal 9 'sv a-form?: #t))
+ (test-equal "tionde" (number->string-ordinal 10 'sv a-form?: #t))
+ (test-equal "elfte" (number->string-ordinal 11 'sv a-form?: #t))
+ (test-equal "tolfte" (number->string-ordinal 12 'sv a-form?: #t))
+ (test-equal "trettonde" (number->string-ordinal 13 'sv a-form?: #t))
+ (test-equal "fjortonde" (number->string-ordinal 14 'sv a-form?: #t))
+ (test-equal "femtonde" (number->string-ordinal 15 'sv a-form?: #t))
+ (test-equal "sextonde" (number->string-ordinal 16 'sv a-form?: #t))
+ (test-equal "sjuttonde" (number->string-ordinal 17 'sv a-form?: #t))
+ (test-equal "artonde" (number->string-ordinal 18 'sv a-form?: #t))
+ (test-equal "nittonde" (number->string-ordinal 19 'sv a-form?: #t))
+ (test-equal "tjugonde" (number->string-ordinal 20 'sv a-form?: #t))
+ (test-equal "tjugoförsta" (number->string-ordinal 21 'sv a-form?: #t))
+ (test-equal "tjugoandra" (number->string-ordinal 22 'sv a-form?: #t))
+ (test-equal "tjugotredje" (number->string-ordinal 23 'sv a-form?: #t))
+ (test-equal "trettiotredje" (number->string-ordinal 33 'sv a-form?: #t))
+ (test-equal "fyrtiofjärde" (number->string-ordinal 44 'sv a-form?: #t))
+ (test-equal "femtiofemte" (number->string-ordinal 55 'sv a-form?: #t))
+ (test-equal "sextiosjätte" (number->string-ordinal 66 'sv a-form?: #t))
+ (test-equal "sjuttiosjunde" (number->string-ordinal 77 'sv a-form?: #t))
+ (test-equal "åttioåttonde" (number->string-ordinal 88 'sv a-form?: #t))
+ (test-equal "nittionionde" (number->string-ordinal 99 'sv a-form?: #t))
+ (test-equal "etthundrade" (number->string-ordinal 100 'sv a-form?: #t))
+ (test-equal "etthundratrettiofjärde" (number->string-ordinal 134 'sv a-form?: #t))
+ (test-equal "sjuhundratrettiosjätte" (number->string-ordinal 736 'sv a-form?: #t))
+ (test-equal "etttusende" (number->string-ordinal 1000 'sv a-form?: #t))
+ (test-equal "ettusen sjätte" (number->string-ordinal 1006 'sv a-form?: #t))
+ (test-equal "ettusen hundrade" (number->string-ordinal 1100 'sv a-form?: #t))
+ (test-equal "ettusen niohundratjugoandra" (number->string-ordinal 1922 'sv a-form?: #t))
+ (test-equal "ettusen niohundranittionionde" (number->string-ordinal 1999 'sv a-form?: #t))
+ (test-equal "tvåtusende" (number->string-ordinal 2000 'sv a-form?: #t))
+ (test-equal "tvåtusen första" (number->string-ordinal 2001 'sv a-form?: #t))
+ (test-equal "tretusende" (number->string-ordinal 3000 'sv a-form?: #t))
+ (test-equal "fyratusende" (number->string-ordinal 4000 'sv a-form?: #t))
+ (test-equal "femtusende" (number->string-ordinal 5000 'sv a-form?: #t))
+ (test-equal "sextusende" (number->string-ordinal 6000 'sv a-form?: #t))
+ (test-equal "sjutusende" (number->string-ordinal 7000 'sv a-form?: #t))
+ (test-equal "åttatusende" (number->string-ordinal 8000 'sv a-form?: #t))
+ (test-equal "niotusende" (number->string-ordinal 9000 'sv a-form?: #t))
+ (test-equal "niotusen åttahundrasjuttiosjätte" (number->string-ordinal 9876 'sv a-form?: #t))
+
+ (test-equal "tiotusende" (number->string-ordinal 10000 'sv a-form?: #t))
+ (test-equal "tjugotusende" (number->string-ordinal 20000 'sv a-form?: #t))
+ (test-equal "trettiotusende" (number->string-ordinal 30000 'sv a-form?: #t))
+ (test-equal "fyrtiotusende" (number->string-ordinal 40000 'sv a-form?: #t))
+ (test-equal "femtiotusende" (number->string-ordinal 50000 'sv a-form?: #t))
+ (test-equal "sextiotusende" (number->string-ordinal 60000 'sv a-form?: #t))
+ (test-equal "sjuttiotusende" (number->string-ordinal 70000 'sv a-form?: #t))
+ (test-equal "åttiotusende" (number->string-ordinal 80000 'sv a-form?: #t))
+ (test-equal "nittiotusende" (number->string-ordinal 90000 'sv a-form?: #t))
+ (test-equal "nittioåttatusen sjuhundrasextiofemte"
+ (number->string-ordinal 98765 'sv a-form?: #t))
+
+ (test-equal "etthundratusende" (number->string-ordinal 100000 'sv a-form?: #t))
+ (test-equal "tvåhundratusende" (number->string-ordinal 200000 'sv a-form?: #t))
+ (test-equal "trehundratusende" (number->string-ordinal 300000 'sv a-form?: #t))
+ (test-equal "fyrahundratusende" (number->string-ordinal 400000 'sv a-form?: #t))
+ (test-equal "femhundratusende" (number->string-ordinal 500000 'sv a-form?: #t))
+ (test-equal "sexhundratusende" (number->string-ordinal 600000 'sv a-form?: #t))
+ (test-equal "sjuhundratusende" (number->string-ordinal 700000 'sv a-form?: #t))
+ (test-equal "åttahundratusende" (number->string-ordinal 800000 'sv a-form?: #t))
+ (test-equal "niohundratusende" (number->string-ordinal 900000 'sv a-form?: #t))
+ (test-equal "niohundraåttiosjutusen sexhundrafemtiofjärde"
+ (number->string-ordinal 987654 'sv a-form?: #t))
+
+ (test-equal "miljonte" (number->string-ordinal 1000000 'sv a-form?: #t))
+ (test-equal "två miljonte" (number->string-ordinal 2000000 'sv a-form?: #t))
+ (test-equal "tre miljonte" (number->string-ordinal 3000000 'sv a-form?: #t))
+ (test-equal "fyra miljonte" (number->string-ordinal 4000000 'sv a-form?: #t))
+ (test-equal "fem miljonte" (number->string-ordinal 5000000 'sv a-form?: #t))
+ (test-equal "sex miljonte" (number->string-ordinal 6000000 'sv a-form?: #t))
+ (test-equal "sju miljonte" (number->string-ordinal 7000000 'sv a-form?: #t))
+ (test-equal "åtta miljonte" (number->string-ordinal 8000000 'sv a-form?: #t))
+ (test-equal "nio miljonte" (number->string-ordinal 9000000 'sv a-form?: #t))
+ (test-equal "nio miljoner åttahundrasjuttiosex tusen femhundrafyrtiotredje"
+ (number->string-ordinal 9876543 'sv a-form?: #t))
+
+ (test-equal "tio miljonte" (number->string-ordinal 10000000 'sv a-form?: #t))
+ (test-equal "etthundra miljonte" (number->string-ordinal 100000000 'sv a-form?: #t))
+ (test-equal "niohundraåttiosju miljoner sexhundrafemtiofyra tusen trehundratjugoförsta"
+ (number->string-ordinal 987654321 'sv a-form?: #t))
+ (test-equal "miljarde" (number->string-ordinal 1000000000 'sv a-form?: #t))
+ (test-equal "biljonte" (number->string-ordinal 1000000000000 'sv a-form?: #t)))
+
+'((text numbers)
+ (text numbers sv))