Skip to content

Commit d2e47be

Browse files
committed
array parsing done in place. fixed test
1 parent 5c2beb6 commit d2e47be

File tree

2 files changed

+22
-8
lines changed

2 files changed

+22
-8
lines changed

client_test.go

+20-5
Original file line numberDiff line numberDiff line change
@@ -159,21 +159,36 @@ func TestArray(t *testing.T) {
159159
t.Error(err)
160160
}
161161

162-
assert.Equal(t, 1, len(res.results), "expecting 1 results record")
163-
164162
a := NodeNew("person", "", nil)
165163
b := NodeNew("person", "", nil)
166164

167165
a.SetProperty("name", "a")
168166
a.SetProperty("age", 32)
169167
a.SetProperty("array", []interface{}{0, 1, 2})
170-
a.ID = 3
171168

172169
b.SetProperty("name", "b")
173170
b.SetProperty("age", 30)
174171
b.SetProperty("array", []interface{}{3, 4, 5})
175-
b.ID = 2
176172

177-
assert.ElementsMatchf(t, []interface{}{a, b}, res.results[0][0], "arrays not equal")
173+
assert.Equal(t, 1, len(res.results), "expecting 1 results record")
174+
175+
arr := res.results[0][0].([]interface{})
176+
177+
assert.Equal(t, 2, len(arr))
178+
179+
res_a := arr[0].(*Node)
180+
res_b := arr[1].(*Node)
181+
if res_a.GetProperty("name") != "a" {
182+
res_a = arr[1].(*Node)
183+
res_b = arr[0].(*Node)
184+
}
185+
186+
assert.Equal(t, a.GetProperty("name"), res_a.GetProperty("name"), "Unexpected property value.")
187+
assert.Equal(t, a.GetProperty("age"), res_a.GetProperty("age"), "Unexpected property value.")
188+
assert.Equal(t, a.GetProperty("array"), res_a.GetProperty("array"), "Unexpected property value.")
189+
190+
assert.Equal(t, b.GetProperty("name"), res_b.GetProperty("name"), "Unexpected property value.")
191+
assert.Equal(t, b.GetProperty("age"), res_b.GetProperty("age"), "Unexpected property value.")
192+
assert.Equal(t, b.GetProperty("array"), res_b.GetProperty("array"), "Unexpected property value.")
178193

179194
}

query_result.go

+2-3
Original file line numberDiff line numberDiff line change
@@ -204,11 +204,10 @@ func (qr *QueryResult) parseEdge(cell interface{}) *Edge {
204204
func (qr *QueryResult) parseArray(cell interface{}) []interface{} {
205205
var array = cell.([]interface{})
206206
var arrayLength = len(array)
207-
var res = make([]interface{}, arrayLength)
208207
for i := 0; i < arrayLength; i++ {
209-
res[i] = qr.parseScalar(array[i].([]interface{}))
208+
array[i] = qr.parseScalar(array[i].([]interface{}))
210209
}
211-
return res
210+
return array
212211
}
213212

214213
func (qr *QueryResult) parseScalar(cell []interface{}) interface{} {

0 commit comments

Comments
 (0)