89 lines
1.5 KiB
Go
89 lines
1.5 KiB
Go
package trans_test
|
|
|
|
import (
|
|
"testing"
|
|
"."
|
|
"reflect"
|
|
)
|
|
|
|
|
|
type testData struct {
|
|
job []string
|
|
transOutput []byte
|
|
expectedResults []string
|
|
}
|
|
|
|
func TestTranslation(t *testing.T) {
|
|
cases := []testData{
|
|
testData{
|
|
[]string{"actuator", "en", "hu"},
|
|
[]byte(`működtető
|
|
|
|
noun
|
|
indítókar
|
|
actuator, starting lever
|
|
|
|
actuator
|
|
működtető, beavatkozó, hajtómű, aktuátor, hajtás
|
|
`),
|
|
[]string{"működtető", "indítókar", "beavatkozó", "hajtómű", "aktuátor", "hajtás"},
|
|
},
|
|
testData{
|
|
[]string{"szaxofon", "hu", "en"},
|
|
[]byte(`saxophone
|
|
|
|
szaxofon
|
|
saxophone
|
|
`),
|
|
[]string{"saxophone"},
|
|
},
|
|
testData{
|
|
[]string{"cat", "en", "hu"},
|
|
[]byte(`macska
|
|
|
|
noun
|
|
macska
|
|
cat, pussy
|
|
pletykás nő
|
|
cat
|
|
|
|
verb
|
|
felvon
|
|
hoist, cat
|
|
|
|
cat
|
|
macska, cica
|
|
`),
|
|
[]string{"macska", "pletykás nő", "felvon", "cica"},
|
|
},
|
|
testData{
|
|
[]string{"méltányosság", "hu", "en"},
|
|
[]byte(`equity
|
|
|
|
noun
|
|
equity
|
|
méltányosság, jogosság
|
|
fairness
|
|
méltányosság, szőkeség
|
|
justness
|
|
jogosság, méltányosság
|
|
|
|
méltányosság
|
|
equity, fairness
|
|
`),
|
|
[]string{"equity", "fairness", "justness"},
|
|
},
|
|
}
|
|
|
|
for _, data := range cases {
|
|
j := trans.New(data.job[0], data.job[1], data.job[2])
|
|
j.Executor = func(tj trans.TransJob) ([]byte, error) {
|
|
return data.transOutput, nil
|
|
}
|
|
r := j.Translate()
|
|
if (!reflect.DeepEqual(r, data.expectedResults)) {
|
|
t.Errorf("\nExpected: '%v'\nActual: '%v'", data.expectedResults, r)
|
|
}
|
|
}
|
|
}
|