-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjanorm_test.go
48 lines (41 loc) · 1.63 KB
/
janorm_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
package janorm
import "testing"
func check(t *testing.T, exp, from string) {
t.Helper()
act := Normalize(from)
if act != exp {
t.Fatalf("normalize faield:\nexpect: %s\nactual: %s\n", exp, act)
}
}
func TestNormalize_zen2han(t *testing.T) {
check(t, "0123456789", "0123456789")
check(t, "ABCDEFGHIJKLMNOPQRSTUVWXYZ",
"ABCDEFGHIJKLMNOPQRSTUVWXYZ")
check(t, "abcdefghijklmnopqrstuvwxyz",
"abcdefghijklmnopqrstuvwxyz")
check(t, "! \"#$%&'()*+,-./:;<=>?@[¥]^_`{|}",
"! ”#$%&’()*+,-./:;<=>?@[¥]^_`{|}")
}
func TestNormalize_han2zen(t *testing.T) {
check(t, "。、・「」", "。、・「」")
check(t, "ハンカク", "ハンカク")
check(t, "ゼンカク", "ゼンカク")
}
func TestNormalize_bar(t *testing.T) {
check(t, "o-o", "o₋o")
check(t, "majikaー", "majika━")
check(t, "スーパー", "スーパーーーー")
}
func TestNormalize_tilde(t *testing.T) {
check(t, "わい", "わ〰い")
}
func TestNormalize_spaces(t *testing.T) {
check(t, "ゼンカクスペース", "ゼンカク スペース")
check(t, "おお", "お お")
check(t, "おお", " おお")
check(t, "おお", "おお ")
check(t, "検索エンジン自作入門を買いました!!!", "検索 エンジン 自作 入門 を 買い ました!!!")
check(t, "アルゴリズムC", "アルゴリズム C")
check(t, "PRML副読本", " PRML 副 読 本 ")
check(t, "Coding the Matrix", "Coding the Matrix")
}