Skip to content

Commit 6a696c8

Browse files
author
mfarah
committed
Individual tests now have their own test data
1 parent 805729e commit 6a696c8

File tree

1 file changed

+58
-33
lines changed

1 file changed

+58
-33
lines changed

data_navigator_test.go

Lines changed: 58 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,72 +7,97 @@ import (
77
"testing"
88
)
99

10-
var rawData = `
11-
---
12-
a: Easy!
13-
b:
14-
c: 2
15-
d:
16-
- 3
17-
- 4
18-
e:
19-
-
20-
name: Fred
21-
thing: cat
22-
-
23-
name: Sam
24-
thing: dog
25-
`
26-
27-
var parsedData map[interface{}]interface{}
28-
29-
func TestMain(m *testing.M) {
10+
func parseData(rawData string) map[interface{}]interface{} {
11+
var parsedData map[interface{}]interface{}
3012
err := yaml.Unmarshal([]byte(rawData), &parsedData)
3113
if err != nil {
3214
fmt.Println("Error parsing yaml: %v", err)
3315
os.Exit(1)
3416
}
35-
36-
os.Exit(m.Run())
17+
return parsedData
3718
}
3819

3920
func TestReadMap_simple(t *testing.T) {
40-
assertResult(t, 2, readMap(parsedData, "b", []string{"c"}))
21+
var data = parseData(`
22+
---
23+
b:
24+
c: 2
25+
`)
26+
assertResult(t, 2, readMap(data, "b", []string{"c"}))
4127
}
4228

4329
func TestReadMap_key_doesnt_exist(t *testing.T) {
44-
assertResult(t, nil, readMap(parsedData, "b.x.f", []string{"c"}))
30+
var data = parseData(`
31+
---
32+
b:
33+
c: 2
34+
`)
35+
assertResult(t, nil, readMap(data, "b.x.f", []string{"c"}))
4536
}
4637

4738
func TestReadMap_recurse_against_string(t *testing.T) {
48-
assertResult(t, nil, readMap(parsedData, "a", []string{"b"}))
39+
var data = parseData(`
40+
---
41+
a: cat
42+
`)
43+
assertResult(t, nil, readMap(data, "a", []string{"b"}))
4944
}
5045

5146
func TestReadMap_with_array(t *testing.T) {
52-
assertResult(t, 4, readMap(parsedData, "b", []string{"d", "1"}))
47+
var data = parseData(`
48+
---
49+
b:
50+
d:
51+
- 3
52+
- 4
53+
`)
54+
assertResult(t, 4, readMap(data, "b", []string{"d", "1"}))
5355
}
5456

5557
func TestReadMap_with_array_out_of_bounds(t *testing.T) {
56-
assertResult(t, nil, readMap(parsedData, "b", []string{"d", "3"}))
58+
var data = parseData(`
59+
---
60+
b:
61+
d:
62+
- 3
63+
- 4
64+
`)
65+
assertResult(t, nil, readMap(data, "b", []string{"d", "3"}))
5766
}
5867

5968
func TestReadMap_with_array_splat(t *testing.T) {
60-
assertResult(t, "[Fred Sam]", fmt.Sprintf("%v", readMap(parsedData, "e", []string{"*", "name"})))
69+
var data = parseData(`
70+
e:
71+
-
72+
name: Fred
73+
thing: cat
74+
-
75+
name: Sam
76+
thing: dog
77+
`)
78+
assertResult(t, "[Fred Sam]", fmt.Sprintf("%v", readMap(data, "e", []string{"*", "name"})))
6179
}
6280

6381
func TestWrite_simple(t *testing.T) {
82+
var data = parseData(`
83+
b:
84+
c: 2
85+
`)
6486

65-
write(parsedData, "b", []string{"c"}, "4")
87+
write(data, "b", []string{"c"}, "4")
6688

67-
b := parsedData["b"].(map[interface{}]interface{})
89+
b := data["b"].(map[interface{}]interface{})
6890
assertResult(t, "4", b["c"].(string))
6991
}
7092

7193
func TestWrite_with_no_tail(t *testing.T) {
94+
var data = parseData(`
95+
b:
96+
c: 2
97+
`)
98+
write(data, "b", []string{}, "4")
7299

73-
write(parsedData, "b", []string{}, "4")
74-
75-
b := parsedData["b"]
100+
b := data["b"]
76101
assertResult(t, "4", fmt.Sprintf("%v", b))
77102
}
78103

0 commit comments

Comments
 (0)