1 package jalview.ext.archaeopteryx;
3 import static org.testng.Assert.assertEquals;
4 import static org.testng.Assert.assertTrue;
6 import org.forester.archaeopteryx.MainFrame;
7 import org.forester.archaeopteryx.TreePanel;
8 import org.forester.phylogeny.Phylogeny;
9 import org.forester.phylogeny.PhylogenyNode;
10 import org.testng.annotations.BeforeClass;
11 import org.testng.annotations.Test;
13 public class AptxPhylogenyTreeTest extends TreeViewTest
15 final Phylogeny inputTree = new Phylogeny();
17 final PhylogenyNode rootNode = new PhylogenyNode("root");
19 final PhylogenyNode ancestor1Node = new PhylogenyNode("ancestor 1");
21 final PhylogenyNode ancestor2Node = new PhylogenyNode("leaf 2");
23 final PhylogenyNode leaf1aNode = new PhylogenyNode("leaf 1a");
25 final PhylogenyNode leaf1bNode = new PhylogenyNode("leaf 1b");
27 final PhylogenyNode leaf1cNode = new PhylogenyNode("leaf 1c");
37 @BeforeClass(alwaysRun = true)
38 public void setUpTree()
40 ancestor1Node.addAsChild(leaf1aNode);
41 ancestor1Node.addAsChild(leaf1bNode);
42 ancestor1Node.addAsChild(leaf1cNode);
44 rootNode.addAsChild(ancestor1Node);
45 rootNode.addAsChild(ancestor2Node);
47 leaf1aNode.setDistanceToParent(2);
48 leaf1bNode.setDistanceToParent(3);
49 leaf1cNode.setDistanceToParent(4);
51 ancestor1Node.setDistanceToParent(36);
52 ancestor2Node.setDistanceToParent(42);
54 inputTree.setName("test");
55 inputTree.setRoot(rootNode);
56 inputTree.setRooted(true);
61 @BeforeClass(dependsOnMethods = { "setUpJalview", "setUpTree" })
62 public void createTreeView()
64 treeView = AptxInit.createUnboundInstance(inputTree);
65 aptx = (MainFrame) treeView; // pretty ugly
66 treePanel = aptx.getMainPanel().getCurrentTreePanel();
67 tree = treePanel.getPhylogeny();
72 @Test(groups = "Functional")
73 public void testMainPanelExists()
75 assertTrue(aptx.getMainPanel() != null);
78 @Test(groups = "Functional")
79 public void testTreePanelExists()
81 assertTrue(treePanel != null);
85 public void testTreeTitle()
87 assertTrue(tree.getName().equals("test"));
92 groups = "Functional",
93 expectedExceptions = IllegalArgumentException.class)
94 public void testInvalidBranchName()
96 tree.getNode("I shouldn't exist");
101 public void testExistingBranchName()
103 tree.getNode("leaf 2");
108 public void testTreeLoaded()
110 assertTrue(tree != null);
114 public void testChildNodesCount()
116 assertEquals(tree.getNode("ancestor 1").getNumberOfExternalNodes(), 3);
121 public void testChildToParentBranchLength()
123 assertEquals(tree.getNode("leaf 1a").getDistanceToParent(), 2.0);
128 public void testNodeToRootBranchLength()
130 assertEquals(tree.getNode("leaf 2").getDistanceToParent(), 42.0);
135 public void testDistantNodeToRootBranchLength()
137 assertEquals(tree.getNode("leaf 1c").calculateDistanceToRoot(),