validate/bench_test.go

36 lines
711 B
Go
Raw Permalink Normal View History

2018-10-16 20:18:39 +02:00
package validate
import (
"testing"
)
type testCase struct {
A string `validate:"required"`
B int `validate:"gt=9"`
C float64 `validate:"eq=10"`
D uint64 `validate:"required,lt=9"`
}
var case1 = testCase{`abc`, 10, 10.0, 5}
var case2 = testCase{`abc`, 8, 10.0, 0}
func BenchmarkValidateCorrect(b *testing.B) {
var errs []ValidationError
for i := 0; i < b.N; i++ {
errs = Validate(case1)
if len(errs) != 0 {
b.Fatal(`This case should pass but got`, errs)
}
}
}
func BenchmarkValidateIncorrect(b *testing.B) {
var errs []ValidationError
for i := 0; i < b.N; i++ {
errs = Validate(case2)
if len(errs) != 2 {
b.Fatal(`This case should get 2 errors but got`, len(errs))
}
}
}