// Path: src/main/java/myessentials/entities/api/Tree.java
// public class Tree<T extends TreeNode> {
//     private T root;
// 
//     public Tree(T root) {
//         this.root = root;
//     }
// 
//     public T getRoot() {
//         return root;
//     }
// }
// 
// Path: src/main/java/myessentials/entities/api/TreeNode.java
// public class TreeNode<T extends TreeNode> {
// 
//     protected T parent;
//     protected List<T> children = new ArrayList<T>();
// 
//     public TreeNode() {
//         this(null);
//     }
// 
//     public TreeNode(T parent) {
//         this.parent = parent;
//     }
// 
//     public T getParent() {
//         return parent;
//     }
// 
//     public void addChild(T child) {
//         children.add(child);
//         child.parent = this;
//     }
// 
// 
//     public List<T> getChildren() {
//         return children;
//     }
// }
// 
// Path: src/test/java/myessentials/test/MECTest.java
// public class MECTest extends BaseTest {
// 
//     @Before
//     public void initConfig() {
//         TestConfig.instance.init(configFile, Constants.MOD_ID);
//     }
// 
// }


import junit.framework.Assert;
import myessentials.entities.api.Tree;
import myessentials.entities.api.TreeNode;
import myessentials.test.MECTest;
import org.junit.Test;
package myessentials.test.entities;


public class TreeTest extends MECTest {

    @Test
    public void shouldInitTreeWithRoot() {
// Path: src/main/java/myessentials/entities/api/Tree.java
// public class Tree<T extends TreeNode> {
//     private T root;
// 
//     public Tree(T root) {
//         this.root = root;
//     }
// 
//     public T getRoot() {
//         return root;
//     }
// }
// 
// Path: src/main/java/myessentials/entities/api/TreeNode.java
// public class TreeNode<T extends TreeNode> {
// 
//     protected T parent;
//     protected List<T> children = new ArrayList<T>();
// 
//     public TreeNode() {
//         this(null);
//     }
// 
//     public TreeNode(T parent) {
//         this.parent = parent;
//     }
// 
//     public T getParent() {
//         return parent;
//     }
// 
//     public void addChild(T child) {
//         children.add(child);
//         child.parent = this;
//     }
// 
// 
//     public List<T> getChildren() {
//         return children;
//     }
// }
// 
// Path: src/test/java/myessentials/test/MECTest.java
// public class MECTest extends BaseTest {
// 
//     @Before
//     public void initConfig() {
//         TestConfig.instance.init(configFile, Constants.MOD_ID);
//     }
// 
// }


// Path: src/test/java/myessentials/test/entities/TreeTest.java
import junit.framework.Assert;
import myessentials.entities.api.Tree;
import myessentials.entities.api.TreeNode;
import myessentials.test.MECTest;
import org.junit.Test;

package myessentials.test.entities;


public class TreeTest extends MECTest {

    @Test
    public void shouldInitTreeWithRoot() {
        TreeNode node = new TreeNode();