This commit is contained in:
Júlio César Batista 2023-02-17 15:44:33 -03:00
parent b2394184cb
commit a6533067ec
No known key found for this signature in database
GPG key ID: 10C4B861BF314878
2 changed files with 11 additions and 16 deletions

View file

@ -2,6 +2,7 @@ package d2graph
import (
"encoding/json"
"strings"
"oss.terrastruct.com/util-go/go2"
)
@ -48,7 +49,7 @@ func DeserializeGraph(bytes []byte, g *Graph) error {
for _, id := range so["ChildrenArray"].([]interface{}) {
o := idToObj[id.(string)]
childrenArray = append(childrenArray, o)
children[o.IDVal] = o
children[strings.ToLower(o.IDVal)] = o
o.Parent = idToObj[so["AbsID"].(string)]
}

View file

@ -17,25 +17,19 @@ func TestSerialization(t *testing.T) {
assert.Nil(t, err)
asserts := func(g *d2graph.Graph) {
a := g.Root.ChildrenArray[0]
a_a := a.ChildrenArray[0]
assert.Equal(t, 4, len(g.Objects))
assert.Equal(t, 1, len(g.Root.ChildrenArray))
assert.Equal(t, 1, len(g.Root.ChildrenArray[0].ChildrenArray))
assert.Equal(t, 2, len(g.Root.ChildrenArray[0].ChildrenArray[0].ChildrenArray))
assert.Equal(t,
g.Root.ChildrenArray[0],
g.Root.ChildrenArray[0].ChildrenArray[0].Parent,
)
assert.Equal(t, 1, len(a.ChildrenArray))
assert.Equal(t, 2, len(a_a.ChildrenArray))
assert.Equal(t, a, a_a.Parent)
assert.Equal(t, g.Root, a.Parent)
assert.Equal(t,
g.Root,
g.Root.ChildrenArray[0].Parent,
)
a := g.Root.ChildrenArray[0]
aa := a.ChildrenArray[0]
assert.Contains(t, a.Children, "a")
assert.Contains(t, aa.Children, "b")
assert.Contains(t, aa.Children, "c")
assert.Contains(t, a_a.Children, "b")
assert.Contains(t, a_a.Children, "c")
assert.Equal(t, 1, len(g.Edges))
assert.Equal(t, "b", g.Edges[0].Src.ID)