-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathnum2word_test.go
61 lines (58 loc) · 3.28 KB
/
num2word_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
package num2word
import (
"testing"
)
func TestNum2Word(t *testing.T) {
data := map[int]string{
100: "сто",
101: "сто один",
110: "сто десять",
115: "сто пятнадцать",
123: "сто двадцать три",
1000: "одна тысяча",
1001: "одна тысяча один",
2012: "две тысячи двенадцать",
12519: "двенадцать тысяч пятьсот девятнадцать",
1234567890: `один миллиард двести тридцать четыре миллиона пятьсот шестьдесят семь тысяч восемьсот девяносто`,
5: "пять",
15: "пятнадцать",
154: "сто пятьдесят четыре",
1135: "одна тысяча сто тридцать пять",
418531: "четыреста восемнадцать тысяч пятьсот тридцать один",
1000139: "один миллион сто тридцать девять",
35001: "тридцать пять тысяч один",
32001: "тридцать две тысячи один",
66666: "шестьдесят шесть тысяч шестьсот шестьдесят шесть",
444044: "четыреста сорок четыре тысячи сорок четыре",
44013: "сорок четыре тысячи тринадцать",
-1: "минус один",
-100: "минус сто",
}
for to, exp := range data {
res := Convert(to, false)
if res != exp {
t.Errorf("expectes %s, get %s", exp, res)
}
}
}
func TestNum2WordCorrency(t *testing.T) {
data := map[float64][]string{
1.0: []string{"один евро ноль центов", "EUR"},
1.01: []string{"один рубль одна копейка", "RUB"},
1234.56: []string{"одна тысяча двести тридцать четыре евро пятьдесят шесть центов", "EUR"},
1234.51: []string{"одна тысяча двести тридцать четыре рубля пятьдесят одна копейка", "RUB"},
10111.11: []string{"десять тысяч сто одиннадцать евро одиннадцать центов", "EUR"},
10121.21: []string{"десять тысяч сто двадцать один рубль двадцать одна копейка", "RUB"},
10122.22: []string{"десять тысяч сто двадцать два рубля двадцать две копейки", "RUB"},
10123.01: []string{"десять тысяч сто двадцать три евро один цент", "EUR"},
1230.56: []string{"одна тысяча двести тридцать долларов пятьдесят шесть центов", "USD"},
1231.56: []string{"одна тысяча двести тридцать один доллар пятьдесят шесть центов", "USD"},
1234.57: []string{"одна тысяча двести тридцать четыре доллара пятьдесят семь центов", "USD"},
}
for to, exp := range data {
res := ConvertToCurrency(to, exp[1])
if res != exp[0] {
t.Errorf("num %f expectes %s, get %s", to, exp[0], res)
}
}
}