-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathassertion_test.go
More file actions
59 lines (46 loc) · 1.09 KB
/
assertion_test.go
File metadata and controls
59 lines (46 loc) · 1.09 KB
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
package assert
import (
"testing"
"github.com/ghosind/go-assert/internal"
)
func TestNewAssertion(t *testing.T) {
Panic(t, func() {
New(nil)
})
NotPanic(t, func() {
New(new(testing.T))
})
}
func TestAssertionWithoutNew(t *testing.T) {
Panic(t, func() {
a := new(Assertion)
a.True(true)
})
}
func TestRun(t *testing.T) {
a := New(t)
isSubTestRun := false
a.Run("sub test", func(sub *Assertion) {
EqualNow(t, sub.Name(), "TestRun/sub_test")
isSubTestRun = true
})
TrueNow(t, isSubTestRun)
}
func testAssertionFunction(a *Assertion, name string, fn func() error, expectSuccess bool) {
a.Helper()
err := fn()
if expectSuccess {
a.NilNow(err, "%s() = %v, want = nil", name, err)
} else {
a.NotNilNow(err, "%s() = nil, want = error", name)
}
}
func testAssertionNowFunction(a *Assertion, name string, fn func(), expectExit bool) {
a.T.Helper()
isTerminated := internal.CheckTermination(fn)
if expectExit {
a.TrueNow(isTerminated, "%s() execution stopped, want do not stop", name)
} else {
a.NotTrueNow(isTerminated, "%s() execution do not stopped, want stop", name)
}
}