package com.passing.unittests;
import java.util.Arrays;
import java.util.List;
import org.junit.Assert;
import org.junit.Before;
import org.junit.Test;
public class TreeProcessingTest {
private TreeProcessing<Double> tp = null;
private Node<Double> numberRootNode;
@Before
public void init() {
tp = new TreeProcessingImpl<Double>();
Node<Double> lvl2a = new NodeImpl<Double>(6.0, null);
Node<Double> lvl2b = new NodeImpl<Double>(7.0, null);
Node<Double> lvl2c = new NodeImpl<Double>(8.0, null);
@SuppressWarnings("unchecked")
List<Node<Double>> lvl2Children = Arrays.asList(lvl2a, lvl2b, lvl2c);
Node<Double> lvl1a = new NodeImpl<Double>(5.0, lvl2Children);
Node<Double> lvl1b = new NodeImpl<Double>(9.0, null);
@SuppressWarnings("unchecked")
List<Node<Double>> lvl1Children = Arrays.asList(lvl1a, lvl1b);
numberRootNode = new NodeImpl<Double>(7.0, lvl1Children);
}
@Test
public void testGetAverage() {
Assert.assertEquals("Wrong", (6.0+7.0+8.0+5.0+9.0+7.0)/6, tp.getAverage(numberRootNode), 0.01);
}
@Test
public void testSum() {
Assert.assertEquals("Wrong", (6.0+7.0+8.0+5.0+9.0+7.0), tp.getSum(numberRootNode), 0.01);
}
}