mirror of
https://github.com/unknwon/the-way-to-go_ZH_CN.git
synced 2025-08-12 05:33:04 +08:00
41 lines
790 B
Go
Executable File
41 lines
790 B
Go
Executable File
// string_reverse_test.go
|
|
package strev
|
|
|
|
import "testing"
|
|
import "./strev"
|
|
|
|
type ReverseTest struct {
|
|
in, out string
|
|
}
|
|
|
|
var ReverseTests = []ReverseTest {
|
|
ReverseTest{"ABCD", "DCBA"},
|
|
ReverseTest{"CVO-AZ", "ZA-OVC"},
|
|
ReverseTest{"Hello 世界", "界世 olleH"},
|
|
}
|
|
|
|
func TestReverse(t *testing.T) {
|
|
/*
|
|
in := "CVO-AZ"
|
|
out := Reverse(in)
|
|
exp := "ZA-OVC"
|
|
if out != exp {
|
|
t.Errorf("Reverse of %s expects %s, but got %s", in, exp, out)
|
|
}
|
|
*/
|
|
// testing with a battery of testdata:
|
|
for _, r := range ReverseTests {
|
|
exp := strev.Reverse(r.in)
|
|
if r.out != exp {
|
|
t.Errorf("Reverse of %s expects %s, but got %s", r.in, exp, r.out)
|
|
}
|
|
}
|
|
}
|
|
|
|
func BenchmarkReverse(b *testing.B) {
|
|
s := "ABCD"
|
|
for i:=0; i < b.N; i++ {
|
|
strev.Reverse(s)
|
|
}
|
|
}
|