233 lines
4.0 KiB
Go
233 lines
4.0 KiB
Go
package main
|
|
|
|
type testDecomposingData struct {
|
|
Tree map[string]*WeightedNode
|
|
Threshold int
|
|
Parts []SubTree
|
|
}
|
|
|
|
var smallTree = testDecomposingData{
|
|
Tree: tree3by3.WeightingTreeWithStack(),
|
|
Threshold: 2,
|
|
Parts: []SubTree{
|
|
{
|
|
path: "/",
|
|
tree: tree3by3,
|
|
},
|
|
},
|
|
}
|
|
|
|
var tree3by3 = &Node{
|
|
ID: "1.0.0.0",
|
|
Name: "/",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.1.0.0",
|
|
Name: "folder1",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.1.1.0",
|
|
Name: "folder1",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.1.1.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.1.1.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.1.1.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.1.2.0",
|
|
Name: "folder2",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.1.2.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.1.2.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.1.2.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.1.3.0",
|
|
Name: "folder3",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.1.3.1",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.1.3.2",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.1.3.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.2.0.0",
|
|
Name: "folder2",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.2.1.0",
|
|
Name: "folder1",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.2.1.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.2.1.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.2.1.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.2.2.0",
|
|
Name: "folder2",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.2.2.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.2.2.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.2.2.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.2.3.0",
|
|
Name: "folder3",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.2.3.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.2.3.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.2.3.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.3.0.0",
|
|
Name: "folder3",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.3.1.0",
|
|
Name: "folder1",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.3.1.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.3.1.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.3.1.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.3.2.0",
|
|
Name: "folder2",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.3.2.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.3.2.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.3.2.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
{
|
|
ID: "1.3.3.0",
|
|
Name: "folder3",
|
|
Children: []*Node{
|
|
{
|
|
ID: "1.3.3.1",
|
|
Name: "folder1",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.3.3.2",
|
|
Name: "folder2",
|
|
Children: []*Node{},
|
|
},
|
|
{
|
|
ID: "1.3.3.3",
|
|
Name: "folder3",
|
|
Children: []*Node{},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
},
|
|
}
|