aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDimitri Sokolyuk <demon@dim13.org>2017-09-09 01:29:28 +0200
committerDimitri Sokolyuk <demon@dim13.org>2017-09-09 01:29:28 +0200
commit64f39d287375e442ca92b22d5bed5143e1d374cf (patch)
tree466949487146cce506cc85e46c1c8235722ca14c
parent20159c986ff904e7f23ba69337c767ced25951d2 (diff)
test/quickHEADmaster
-rw-r--r--ops_test.go34
1 files changed, 17 insertions, 17 deletions
diff --git a/ops_test.go b/ops_test.go
index b0338fb..c02c0dd 100644
--- a/ops_test.go
+++ b/ops_test.go
@@ -2,14 +2,11 @@ package add
import (
"math"
- "math/rand"
"testing"
- "time"
+ "testing/quick"
)
func TestOp(t *testing.T) {
- rand.Seed(time.Now().UnixNano())
-
testCases := map[string]struct {
f func(Element, Element) Element
ref func(int, int) int
@@ -48,20 +45,23 @@ func TestOp(t *testing.T) {
for op, tc := range testCases {
t.Run(op, func(t *testing.T) {
- m := rand.Intn(tc.maxm)
- n := rand.Intn(tc.maxn)
- if tc.ordered && n > m {
- m, n = n, m
+ f := func(x, y uint8) bool {
+ m := int(x) % tc.maxm
+ n := int(y) % tc.maxn
+ if tc.ordered && n > m {
+ m, n = n, m
+ }
+ ref := tc.ref(m, n)
+ me, ne, ee := Index(m), Index(n), Index(ref)
+ re := tc.f(me, ne)
+ ok := re.Equals(ee)
+ if !ok {
+ t.Errorf("%v %v %v: got %v, want %v", me, op, ne, re, ee)
+ }
+ return ok
}
- e := tc.ref(m, n)
-
- me := Index(m)
- ne := Index(n)
- ee := Index(e)
- re := tc.f(me, ne)
-
- if !re.Equals(ee) {
- t.Errorf("%v %v %v: got %v, want %v", me, op, ne, re, ee)
+ if err := quick.Check(f, nil); err != nil {
+ t.Error(err)
}
})
}