-
Notifications
You must be signed in to change notification settings - Fork 55
/
Copy pathapi_test.go
85 lines (75 loc) · 1.84 KB
/
api_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
package gtranslate
import (
"fmt"
"testing"
"time"
)
type testTable struct {
inText string
langFrom string
langTo string
outText string
}
var testingTable = []testTable{
{"Hello", "en", "es", "Hola"},
{"Bye", "en", "es", "Adiós"},
{"Hola", "es", "en", "Hello"},
{"Adios", "es", "en", "Bye"},
{"World", "en", "es", "Mundo"},
}
func TestTranslate(t *testing.T) {
N := 5
var totalDur time.Duration
for i := 0; i < N; i++ {
for _, ta := range testingTable {
start := time.Now()
translated, err := translate(ta.inText, ta.langFrom, ta.langTo, true, 5, time.Second)
if err != nil {
t.Error(err.Error())
}
if len(translated) < 2 {
t.Fail()
}
dur := time.Since(start)
fmt.Print(".")
totalDur += dur
if translated != ta.outText {
t.Error("translated text is not the expected", ta.outText, " != ", translated)
}
}
}
fmt.Println("\nMean time:", time.Duration(int(totalDur)/(len(testingTable)*N)))
}
// TestGetGoogleTranslate is for testing propouse
// func TestGetGoogleTranslate(t *testing.T) {
// testText := "Some test text"
// for i := 0; i < 4; i++ {
// for _, ta := range testingTable {
// r, err := getGoogleTranslate(ta.inText, ta.langFrom, ta.langTo)
// if err != nil {
// t.Error(err.Error())
// t.Fail()
// }
// if r.StatusCode != http.StatusOK {
// t.Error("[" + strconv.Itoa(r.StatusCode) + "] failed request with text: '" + testText + "'")
// }
// if r.Body == nil {
// t.Fail()
// }
// }
// }
// }
// // TestRawTranslate testing rawTranslate function
// func TestRawTranslate(t *testing.T) {
// for i := 0; i < 4; i++ {
// for _, ta := range testingTable {
// data, err := rawTranslate(ta.inText, ta.langFrom, ta.langTo)
// if err != nil {
// t.Error(err.Error())
// }
// if len(data) < 10 {
// t.Fail()
// }
// }
// }
// }