-
-
Notifications
You must be signed in to change notification settings - Fork 25
/
hu-hu_test.go
81 lines (74 loc) · 2.97 KB
/
hu-hu_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
package ntw
import (
"fmt"
"testing"
"github.com/stretchr/testify/assert"
)
func ExampleIntegerToHuHu() {
fmt.Println(IntegerToHuHu(42))
// Output: negyvenkettő
}
func TestIntegerToHuHu(t *testing.T) {
t.Parallel()
tests := map[int]string{
2001: "kettőezer-egy",
3016: "háromezer-tizenhat",
47563: "negyvenhétezer-ötszázhatvanhárom",
4600: "négyezer-hatszáz",
2014: "kettőezer-tizennégy",
7490530: "hétmillió-négyszázkilencvenezer-ötszázharminc",
-1: "mínusz egy",
0: "zéró",
1: "egy",
9: "kilenc",
10: "tíz",
11: "tizenegy",
19: "tizenkilenc",
20: "húsz",
21: "huszonegy",
80: "nyolcvan",
90: "kilencven",
99: "kilencvenkilenc",
100: "egyszáz",
101: "egyszázegy",
111: "egyszáztizenegy",
120: "egyszázhúsz",
121: "egyszázhuszonegy",
900: "kilencszáz",
909: "kilencszázkilenc",
919: "kilencszáztizenkilenc",
990: "kilencszázkilencven",
999: "kilencszázkilencvenkilenc",
1000: "egyezer",
2000: "kettőezer",
4000: "négyezer",
5000: "ötezer",
11000: "tizenegyezer",
21000: "huszonegyezer",
999000: "kilencszázkilencvenkilencezer",
999999: "kilencszázkilencvenkilencezer-kilencszázkilencvenkilenc",
1000000: "egymillió",
2000000: "kettőmillió",
4000000: "négymillió",
5000000: "ötmillió",
100100100: "egyszázmillió-egyszázezer-egyszáz",
500500500: "ötszázmillió-ötszázezer-ötszáz",
606606606: "hatszázhatmillió-hatszázhatezer-hatszázhat",
999000000: "kilencszázkilencvenkilencmillió",
999000999: "kilencszázkilencvenkilencmillió-kilencszázkilencvenkilenc",
999999000: "kilencszázkilencvenkilencmillió-kilencszázkilencvenkilencezer",
999999999: "kilencszázkilencvenkilencmillió-kilencszázkilencvenkilencezer-kilencszázkilencvenkilenc",
1174315110: "egymilliárd-egyszázhetvennégymillió-háromszáztizenötezer-egyszáztíz",
1174315119: "egymilliárd-egyszázhetvennégymillió-háromszáztizenötezer-egyszáztizenkilenc",
15174315119: "tizenötmilliárd-egyszázhetvennégymillió-háromszáztizenötezer-egyszáztizenkilenc",
35174315119: "harmincötmilliárd-egyszázhetvennégymillió-háromszáztizenötezer-egyszáztizenkilenc",
935174315119: "kilencszázharmincötmilliárd-egyszázhetvennégymillió-háromszáztizenötezer-egyszáztizenkilenc",
2935174315119: "kettőtrillió-kilencszázharmincötmilliárd-egyszázhetvennégymillió-háromszáztizenötezer-egyszáztizenkilenc",
}
for input, expectedOutput := range tests {
name := fmt.Sprintf("%d", input)
t.Run(name, func(t *testing.T) {
assert.Equal(t, expectedOutput, IntegerToHuHu(input))
})
}
}