-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
Copy pathuk-ua_test.go
86 lines (81 loc) · 5.16 KB
/
uk-ua_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
package ntw
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func TestIntegerToUkUa(t *testing.T) {
t.Parallel()
tests := map[int]string{
-1: "мінус один",
0: "нуль",
1: "один",
9: "дев'ять",
10: "десять",
11: "одинадцять",
19: "дев'ятнадцять",
20: "двадцять",
21: "двадцять один",
80: "вісімдесят",
90: "дев'яносто",
99: "дев'яносто дев'ять",
100: "сто",
101: "сто один",
111: "сто одинадцять",
120: "сто двадцять",
121: "сто двадцять один",
900: "дев'ятсот",
909: "дев'ятсот дев'ять",
919: "дев'ятсот дев'ятнадцять",
990: "дев'ятсот дев'яносто",
999: "дев'ятсот дев'яносто дев'ять",
1000: "одна тисяча",
2000: "дві тисячі",
4000: "чотири тисячі",
5000: "п'ять тисяч",
11000: "одинадцять тисяч",
21000: "двадцять одна тисяча",
999000: "дев'ятсот дев'яносто дев'ять тисяч",
999999: "дев'ятсот дев'яносто дев'ять тисяч дев'ятсот дев'яносто дев'ять",
1000000: "один мільйон",
2000000: "два мільйона",
4000000: "чотири мільйона",
5000000: "п'ять мільйонів",
100100100: "сто мільйонів сто тисяч сто",
500500500: "п'ятсот мільйонів п'ятсот тисяч п'ятсот",
606606606: "шістсот шість мільйонів шістсот шість тисяч шістсот шість",
999000000: "дев'ятсот дев'яносто дев'ять мільйонів",
999000999: "дев'ятсот дев'яносто дев'ять мільйонів дев'ятсот дев'яносто дев'ять",
999999000: "дев'ятсот дев'яносто дев'ять мільйонів дев'ятсот дев'яносто дев'ять тисяч",
999999999: "дев'ятсот дев'яносто дев'ять мільйонів дев'ятсот дев'яносто дев'ять тисяч дев'ятсот дев'яносто дев'ять",
1174315110: "один мільярд сто сімдесят чотири мільйона триста п'ятнадцять тисяч сто десять",
1174315119: "один мільярд сто сімдесят чотири мільйона триста п'ятнадцять тисяч сто дев'ятнадцять",
15174315119: "п'ятнадцять мільярдів сто сімдесят чотири мільйона триста п'ятнадцять тисяч сто дев'ятнадцять",
35174315119: "тридцять п'ять мільярдів сто сімдесят чотири мільйона триста п'ятнадцять тисяч сто дев'ятнадцять",
935174315119: "дев'ятсот тридцять п'ять мільярдів сто сімдесят чотири мільйона триста п'ятнадцять тисяч сто дев'ятнадцять",
2935174315119: "два трильйона дев'ятсот тридцять п'ять мільярдів сто сімдесят чотири мільйона триста п'ятнадцять тисяч сто дев'ятнадцять",
3911760: "три мільйона дев'ятсот одинадцять тисяч сімсот шістдесят",
27: "двадцять сім",
95000001000: "дев'яносто п'ять мільярдів одна тисяча",
57482: "п'ятдесят сім тисяч чотириста вісімдесят два",
5: "п'ять",
16: "шістнадцять",
30: "тридцять",
53: "п'ятдесят три",
123: "сто двадцять три",
204: "двісті чотири",
300: "триста",
1400: "одна тисяча чотириста",
83756: "вісімдесят три тисячі сімсот п'ятдесят шість",
293111: "двісті дев'яносто три тисячі сто одинадцять",
32001950: "тридцять два мільйона одна тисяча дев'ятсот п'ятдесят",
2018: "дві тисячі вісімнадцять",
126682: "сто двадцять шість тисяч шістсот вісімдесят два",
}
for input, expectedOutput := range tests {
name := fmt.Sprintf("%d", input)
t.Run(name, func(t *testing.T) {
assert.Equal(t, expectedOutput, IntegerToUkUa(input))
})
}
}