void TestTreeFunction() { TestData data[] = { { 0, "/" }, { 1, "home" }, { 2, "usr" }, { 3, "var" }, { 4, "user" }, { 5, "muggle" }, { 6, "bin" }, { 7, "include" }, { 8, "local" }, { 9, "lib" }, { 10, "sbin" }, { 11, "src" }, }; // init TTreeNode<TestData>* root = TTreeNode<TestData>::Create(data[0]); TTreeNode<TestData>* home = root->AddChild(TTreeNode<TestData>::Create(data[1])); TTreeNode<TestData>* usr = root->AddChild(TTreeNode<TestData>::Create(data[2])); root->AddChild(TTreeNode<TestData>::Create(data[3])); home->AddChild(TTreeNode<TestData>::Create(data[4])); home->AddChild(TTreeNode<TestData>::Create(data[5])); usr->AddChild(TTreeNode<TestData>::Create(data[6])); usr->AddChild(TTreeNode<TestData>::Create(data[7])); TTreeNode<TestData>* local = usr->AddChild(TTreeNode<TestData>::Create(data[8])); local->AddChild(TTreeNode<TestData>::Create(data[9])); local->AddChild(TTreeNode<TestData>::Create(data[10])); local->AddChild(TTreeNode<TestData>::Create(data[11])); TTreeNode<TestData>* copy_root = TTreeNode<TestData>::Create(*root); TestTNodeFunction(root); TestTTreeFunction(copy_root); }