-
Notifications
You must be signed in to change notification settings - Fork 3
/
rustemmer_test.go
98 lines (93 loc) · 4.13 KB
/
rustemmer_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
87
88
89
90
91
92
93
94
95
96
97
98
package rustemmer
import (
"testing"
"reflect"
)
func TestGetWordBase(t *testing.T) {
testWords := map[string]string{
"результаты" : "результат",
"в" : "в",
"вавиловка" : "вавиловк",
"вагнера" : "вагнер",
"вагон" : "вагон",
"вагона" : "вагон",
"вагоне" : "вагон",
"вагонов" : "вагон",
"вагоном" : "вагон",
"вагоны" : "вагон",
"важная" : "важн",
"важнее" : "важн",
"важнейшие" : "важн",
"важнейшими" : "важн",
"важничал" : "важнича",
"важно" : "важн",
"важного" : "важн",
"важное" : "важн",
"важной" : "важн",
"важном" : "важн",
"важному" : "важн",
"важности" : "важност",
"важностию" : "важност",
"важность" : "важност",
"важностью" : "важност",
"важную" : "важн",
"важны" : "важн",
"важные" : "важн",
"важный" : "важн",
"важным" : "важн",
"важных" : "важн",
"вазах" : "ваз",
"вазы" : "ваз",
"вакса" : "вакс",
"вакханка" : "вакханк",
"вал" : "вал",
"валандался" : "валанда",
"валентина" : "валентин",
"валериановых" : "валерианов",
"валерию" : "валер",
"валетами" : "валет",
"вали" : "вал",
"валил" : "вал",
"валился" : "вал",
"валится" : "вал",
"валов" : "вал",
"вальдшнепа" : "вальдшнеп",
"вальс" : "вальс",
"вальса" : "вальс",
"вальсе" : "вальс",
"вальсишку" : "вальсишк",
"вальтера" : "вальтер",
"валяется" : "валя",
"валялась" : "валя",
"валялись" : "валя",
"валялось" : "валя",
"валялся" : "валя",
"валять" : "валя",
"валяются" : "валя",
"вам" : "вам",
"вами" : "вам",
}
for word, base := range testWords {
testBase := GetWordBase(word)
if !reflect.DeepEqual(base, testBase) {
t.Errorf("Not equal: [%s] %s != %s", word, base, testBase)
}
}
}
func TestNormalizeText(t *testing.T) {
testTexts := map[string]string{
"Результаты проверки города в DB: \"Санкт-Петербурга\" не нашлось!" : "Результат проверк город в DB Санкт Петербург не нашл",
"Важная новость (!) В вагоне метро заклинило вал" : "Важн новост В вагон метр заклин вал",
"Глава СКР: спортсменам могли умышленно подбросить мельдоний" : "Глав СКР спортсмен могл умышлен подброс мельдон",
"Ограничения на участке Калужско-Рижской линии" : "Ограничен на участк Калужск Рижск лин",
"г. Москва, ул. Полярная, д. 31А, стр. 1" : "г Москв ул Полярн д 31А стр 1",
"Планшет DIGMA Optima 7.13, 8GB темно-синий" : "Планшет DIGMA Optima 7 13 8GB темн син",
"Планшет IRU Pad Master B703, 4Гб, Wi-Fi, Android 4.1 [v13pro]" : "Планшет IRU Pad Master B703 4Гб Wi Fi Android 4 1 v13pro",
}
for text, testText := range testTexts {
normalizedText := NormalizeText(text)
if !reflect.DeepEqual(testText, normalizedText) {
t.Errorf("Not equal: %s != %s", testText, normalizedText)
}
}
}