From 64f39d287375e442ca92b22d5bed5143e1d374cf Mon Sep 17 00:00:00 2001 From: Dimitri Sokolyuk Date: Sat, 9 Sep 2017 01:29:28 +0200 Subject: test/quick --- ops_test.go | 34 +++++++++++++++++----------------- 1 file 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) } }) } -- cgit v1.2.3