Package search.fitnessfunctions

Source Code of search.fitnessfunctions.LutzFFTest

package search.fitnessfunctions;
import java.util.ArrayList;
import java.util.List;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
import primitives.cluster.ClusterHead;
import primitives.cluster.ClusterNode;
import primitives.cluster.ClusterUtils;
import primitives.graph.Graph;
import primitives.graph.Node;

/**
*
* @author mat
*/
public class LutzFFTest {
   
    ClusterHead goodTree, badTree;

   
    TreeFitnessFunction groovyVersion, javaVersion;
   
    public LutzFFTest() {
    }
   
  Graph g;
  List<Node> nodes;
    @Before
    public void setUp() {
        g = new Graph();
    //make a strongly connected graph
   
    nodes = new ArrayList<Node>();
   
   
        nodes.add(new Node("node 1"));
        nodes.add(new Node("node 2"));
        nodes.add(new Node("node 3"));
   
    nodes.add(new Node("node 4"));
   
   
        for(Node n :nodes){
            g.addNode(n);
        }
        nodes.get(0).connect(nodes.get(1), "gol");
    nodes.get(1).connect(nodes.get(2), "lel");
    nodes.get(0).connect(nodes.get(2), "ho");
    nodes.get(1).connect(nodes.get(3), "hi");

   
   
        groovyVersion = new search.fitnessfunctions.LutzHMDFF();
       
       
       
    javaVersion = new search.fitnessfunctions.LutzFitnessFunction();
   

    }
   
    @After
    public void tearDown() {
    }

 
  @Test
  public void testOneSmallerComponentOneTreeLevel(){
    goodTree = new ClusterHead();
       
        ClusterNode mainThree = new ClusterNode();
    mainThree.addNode(nodes.get(0));
    mainThree.addNode(nodes.get(1));
    mainThree.addNode(nodes.get(2));
   
    ClusterNode separate = new ClusterNode();
    separate.addNode(nodes.get(3));
   
    goodTree.addChild(mainThree);
    goodTree.addChild(separate);
    groovyVersion.setTree(goodTree);
        javaVersion.setTree(goodTree);
   
    testAreSame();
  }
 
    @Test
  public void testTwoOneElementClustersOneLevel(){
    goodTree = new ClusterHead();
       
        ClusterNode c1 = new ClusterNode();
    c1.addNode(nodes.get(0));
    c1.addNode(nodes.get(1));
   
    ClusterNode c2 = new ClusterNode();
    c2.addNode(nodes.get(2));
   
    ClusterNode separate = new ClusterNode();
    separate.addNode(nodes.get(3));
   
    goodTree.addChild(c1);
    goodTree.addChild(c2);
    goodTree.addChild(separate);
    groovyVersion.setTree(goodTree);
        javaVersion.setTree(goodTree);
   
    testAreSame();
  }
 
  @Test
  public void testTwoLevelClustersUnbalanced(){
    goodTree = new ClusterHead();
       
        ClusterNode c1 = new ClusterNode();
    c1.addNode(nodes.get(0));
    c1.addNode(nodes.get(1));
   
    ClusterNode c2 = new ClusterNode();
    c2.addNode(nodes.get(2));
   
    ClusterNode parentOfC1And2 = new ClusterNode();
    parentOfC1And2.addChild(c2);
    parentOfC1And2.addChild(c1);
   
   
    ClusterNode separate = new ClusterNode();
    separate.addNode(nodes.get(3));
   
    goodTree.addChild(parentOfC1And2);
    goodTree.addChild(separate);
    groovyVersion.setTree(goodTree);
        javaVersion.setTree(goodTree);
   
    testAreSame();
  }
 
    @Test
  public void twoLevelBalancedClusters(){
    goodTree = new ClusterHead();
       
        ClusterNode c1 = new ClusterNode();
    c1.addNode(nodes.get(0));
    c1.addNode(nodes.get(1));
   
    ClusterNode c2 = new ClusterNode();
    c2.addNode(nodes.get(2));
   
    ClusterNode parentOfC1And2 = new ClusterNode();
    parentOfC1And2.addChild(c2);
    parentOfC1And2.addChild(c1);
   
   
    ClusterNode separate = new ClusterNode();
    separate.addNode(nodes.get(3));
   
    goodTree.addChild(parentOfC1And2);
   
    ClusterNode parentOfSeparate = new ClusterNode();
    parentOfSeparate.addChild(separate);
   
    goodTree.addChild(parentOfSeparate);
    groovyVersion.setTree(goodTree);
        javaVersion.setTree(goodTree);
   
    testAreSame();
  }
 
   
    /**
     * Test of setTree method, of class BunchTurboMQFitnessFunction.
     */
    public void testAreSame() {
        assertNotSame(Double.NaN, groovyVersion.evaluate(goodTree));
   
        assertNotSame(Double.NaN, javaVersion.evaluate(goodTree));
    assertEquals(javaVersion.evaluate(goodTree), groovyVersion.evaluate(goodTree), 0.0001);
    }

}
TOP

Related Classes of search.fitnessfunctions.LutzFFTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.