utils/gimatria_test.go
package utils
import (
"testing"
)
func TestNumToHebrew(t *testing.T) {
vals := map[uint16]string{
1: "א",
2: "ב",
3: "ג",
4: "ד",
5: "ה",
6: "ו",
7: "ז",
8: "ח",
9: "ט",
10: "י",
11: "יא",
12: "יב",
13: "יג",
14: "יד",
15: "טו",
16: "טז",
17: "יז",
18: "יח",
19: "יט",
20: "כ",
26: "כו",
30: "ל",
32: "לב",
40: "מ",
45: "מה",
50: "נ",
60: "ס",
63: "סג",
70: "ע",
72: "עב",
80: "פ",
90: "צ",
100: "ק",
125: "קכה",
200: "ר",
216: "ריו",
248: "רמח",
300: "ש",
320: "שכ",
365: "שסה",
400: "ת",
402: "תב",
472: "תעב",
572: "תקעב",
672: "תרעב",
772: "תשעב",
872: "תתעב",
972: "תתקעב",
1000: "א'",
1001: "א' א",
1015: "א' טו",
1101: "א' קא",
1216: "א' ריו",
1995: "א' תתקצה",
2000: "ב'",
2017: "ב' יז",
3000: "ג'",
4000: "ד'",
5000: "ה'",
5773: "ה' תשעג",
6000: "ו'",
7000: "ז'",
8000: "ח'",
9000: "ט'",
9999: "ט' תתקצט",
}
for k, v := range vals {
x := NumToHebrew(k)
if x != v {
t.Errorf("Expected %s, got %s", v, x)
}
}
// test we don't crash
for i :=0; i < 10000; i++ {
NumToHebrew(uint16(i))
}
}