-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathrando_test.go
81 lines (67 loc) · 1000 Bytes
/
rando_test.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
package rando
import (
"reflect"
"testing"
"gotest.tools/v3/assert"
)
func TestNothing(t *testing.T) {}
type s struct {
Suite
run bool
}
func (s *s) TestThing(t *testing.T) {
s.run = true
}
func TestThatTestsAreRun(t *testing.T) {
ts := new(s)
assert.Assert(t, !ts.run)
Run(t, ts)
assert.Assert(t, ts.run)
}
func DeferredPanicTest(t *testing.T) {
r := recover()
assert.Assert(t, r == nil)
}
func TestThePanic(t *testing.T) {
defer DeferredPanicTest(t)
panic(nil)
}
func testMock() []testing.InternalTest {
return []testing.InternalTest{
{
Name: "do",
},
{
Name: "re",
},
{
Name: "mi",
},
{
Name: "fa",
},
{
Name: "so",
},
{
Name: "la",
},
{
Name: "ti",
},
{
Name: "do",
},
}
}
func TestRandomization(t *testing.T) {
target := testMock()
comparison := testMock()
if !reflect.DeepEqual(target, comparison) {
t.Fail()
}
target = randomize(target, t)
if reflect.DeepEqual(target, comparison) {
t.Fail()
}
}