string_reverse_test.go 790 B

12345678910111213141516171819202122232425262728293031323334353637383940
  1. // string_reverse_test.go
  2. package strev
  3. import "testing"
  4. import "./strev"
  5. type ReverseTest struct {
  6. in, out string
  7. }
  8. var ReverseTests = []ReverseTest {
  9. ReverseTest{"ABCD", "DCBA"},
  10. ReverseTest{"CVO-AZ", "ZA-OVC"},
  11. ReverseTest{"Hello 世界", "界世 olleH"},
  12. }
  13. func TestReverse(t *testing.T) {
  14. /*
  15. in := "CVO-AZ"
  16. out := Reverse(in)
  17. exp := "ZA-OVC"
  18. if out != exp {
  19. t.Errorf("Reverse of %s expects %s, but got %s", in, exp, out)
  20. }
  21. */
  22. // testing with a battery of testdata:
  23. for _, r := range ReverseTests {
  24. exp := strev.Reverse(r.in)
  25. if r.out != exp {
  26. t.Errorf("Reverse of %s expects %s, but got %s", r.in, exp, r.out)
  27. }
  28. }
  29. }
  30. func BenchmarkReverse(b *testing.B) {
  31. s := "ABCD"
  32. for i:=0; i < b.N; i++ {
  33. strev.Reverse(s)
  34. }
  35. }