Skip to content

Commit e948b5b

Browse files
committed
Refactor tests
1 parent d45009e commit e948b5b

File tree

1 file changed

+18
-12
lines changed

1 file changed

+18
-12
lines changed

doc_test.go

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -141,44 +141,50 @@ func ExampleRun() {
141141
}
142142

143143
func ExampleDefine() {
144-
var foo, bar int
145-
_, err := expr.Parse("foo + bar + baz", expr.Define("foo", foo), expr.Define("bar", bar))
144+
type Segment struct {
145+
Origin string
146+
}
147+
type Count struct {
148+
Adults int
149+
}
150+
151+
_, err := expr.Parse("segments[0].Origin + count.Adults", expr.Define("segments", []Segment{}), expr.Define("count", Count{}))
146152

147153
if err != nil {
148154
fmt.Printf("err: %v", err)
149155
return
150156
}
151157

152-
// Output: err: unknown name baz
158+
// Output: err: invalid operation: segments[0].Origin + count.Adults (mismatched types string and int)
153159
}
154160

155161
func ExampleWith() {
156-
type segment struct {
162+
type Segment struct {
157163
Origin string
158164
}
159-
type passengers struct {
165+
type Passengers struct {
160166
Adults int
161167
}
162-
type request struct {
163-
Segments []*segment
164-
Passengers *passengers
168+
type Request struct {
169+
Segments []*Segment
170+
Passengers *Passengers
165171
Marker string
166172
Meta map[string]interface{}
167173
}
168174

169175
code := `Segments[0].Origin == "MOW" && Passengers.Adults == 2 && Marker == "test" && Meta["accept"]`
170-
ast, err := expr.Parse(code, expr.With(&request{}))
176+
ast, err := expr.Parse(code, expr.With(&Request{}))
171177

172178
if err != nil {
173179
fmt.Printf("err: %v", err)
174180
return
175181
}
176182

177-
r := &request{
178-
Segments: []*segment{
183+
r := &Request{
184+
Segments: []*Segment{
179185
{Origin: "MOW"},
180186
},
181-
Passengers: &passengers{
187+
Passengers: &Passengers{
182188
Adults: 2,
183189
},
184190
Marker: "test",

0 commit comments

Comments
 (0)