mirror of
https://github.com/dolthub/dolt.git
synced 2026-02-05 02:59:44 -06:00
47 lines
1.0 KiB
Go
47 lines
1.0 KiB
Go
package test
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/attic-labs/noms/Godeps/_workspace/src/github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestStructRecursiveChildren(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
root := TreeDef{
|
|
Children: []TreeDef{
|
|
TreeDef{},
|
|
TreeDef{
|
|
Children: []TreeDef{
|
|
TreeDef{},
|
|
},
|
|
},
|
|
},
|
|
}.New()
|
|
|
|
assert.Equal(uint64(2), root.Children().Len())
|
|
assert.Equal(uint64(0), root.Children().Get(0).Children().Len())
|
|
assert.Equal(uint64(1), root.Children().Get(1).Children().Len())
|
|
}
|
|
|
|
func TestStructRecursiveParent(t *testing.T) {
|
|
assert := assert.New(t)
|
|
|
|
root := NewTreeWithParent().SetChildren(
|
|
NewListOfTreeWithParent().Append(
|
|
NewTreeWithParent(),
|
|
NewTreeWithParent().SetChildren(
|
|
NewListOfTreeWithParent().Append(
|
|
NewTreeWithParent(),
|
|
),
|
|
),
|
|
),
|
|
)
|
|
// Cannot set the Parent in an immutable tree ;-)
|
|
|
|
assert.Equal(uint64(2), root.Children().Len())
|
|
assert.Equal(uint64(0), root.Children().Get(0).Children().Len())
|
|
assert.Equal(uint64(1), root.Children().Get(1).Children().Len())
|
|
}
|