-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathassert_test.go
132 lines (114 loc) · 2.99 KB
/
assert_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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
package odize
import (
"fmt"
"strings"
"testing"
)
func TestDecorateBlock(t *testing.T) {
result := decorateBlock("test", "content", "++")
group := NewGroup(t, nil)
err := group.
Test("should contain label", func(t *testing.T) {
AssertTrue(t, strings.Contains(result, "test"))
}).
Test("should contain content", func(t *testing.T) {
AssertTrue(t, strings.Contains(result, "content"))
}).
Test("should contain line decorator", func(t *testing.T) {
AssertTrue(t, strings.Contains(result, "++"))
}).
Run()
AssertNoError(t, err)
}
func TestDecorateDiff(t *testing.T) {
result := decorateDiff("expected", "actual")
group := NewGroup(t, nil)
err := group.
Test("should contain expected", func(t *testing.T) {
AssertTrue(t, strings.Contains(result, "expected"))
}).
Test("should contain actual", func(t *testing.T) {
AssertTrue(t, strings.Contains(result, "actual"))
}).
Run()
AssertNoError(t, err)
}
func TestAssertNil(t *testing.T) {
group := NewGroup(t, nil)
var nilString *string
var nilInt *int
var nilFloat *float32
var nilBool *bool
var nilSlice []string
err := group.
Test("should pass nil string", func(t *testing.T) {
AssertNil(t, nilString)
}).
Test("should pass nil int", func(t *testing.T) {
AssertNil(t, nilInt)
}).
Test("should pass nil float", func(t *testing.T) {
AssertNil(t, nilFloat)
}).
Test("should pass nil bool", func(t *testing.T) {
AssertNil(t, nilBool)
}).
Test("should pass nil empty slice", func(t *testing.T) {
AssertNil(t, nilSlice)
}).
Run()
AssertNoError(t, err)
}
func TestAssertEqual(t *testing.T) {
testStruct := struct{ name string }{name: "test"}
group := NewGroup(t, nil)
err := group.
Test("should pass equal strings", func(t *testing.T) {
AssertEqual(t, "a", "a")
}).
Test("should pass equal ints", func(t *testing.T) {
AssertEqual(t, 1, 1)
}).
Test("should pass equal floats", func(t *testing.T) {
AssertEqual(t, 1.1, 1.1)
}).
Test("should pass equal bool", func(t *testing.T) {
AssertEqual(t, true, true)
}).
Test("should pass identical", func(t *testing.T) {
AssertEqual(t, testStruct, testStruct)
}).
Test("should pass same struct signature", func(t *testing.T) {
AssertEqual(t, testStruct, struct{ name string }{name: "test"})
}).
Test("should pass same slice signature", func(t *testing.T) {
AssertEqual(t, []string{
"a",
}, []string{
"a",
})
}).
Test("should pass two empty slices", func(t *testing.T) {
AssertEqual(t, []string{}, []string{})
}).
Run()
AssertNoError(t, err)
}
func TestAssertTrue(t *testing.T) {
group := NewGroup(t, nil)
err := group.
Test("should pass on literal", func(t *testing.T) {
AssertTrue(t, true)
}).
Test("should pass on string assertion", func(t *testing.T) {
AssertTrue(t, strings.Contains("hello", "hello"))
}).
Run()
AssertNoError(t, err)
}
func TestAssertFalse(t *testing.T) {
AssertFalse(t, false)
}
func TestAssertError(t *testing.T) {
AssertError(t, fmt.Errorf("test"))
}