Package lt.refactory.primsAlgo

Source Code of lt.refactory.primsAlgo.PrimsControllerTest

package lt.refactory.primsAlgo;

import static org.junit.Assert.*;

import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.List;

import lt.refactory.primsAlgo.graph.Edge;
import lt.refactory.primsAlgo.graph.Graph;
import lt.refactory.primsAlgo.graph.Node;
import lt.refactory.primsAlgo.graph.WeightedEdge;
import lt.refactory.primsAlgo.service.PrimsController;
import lt.refactory.primsAlgo.service.algorithm.SteinersAlgorithm;

import org.junit.Test;

public class PrimsControllerTest {

  @Test
  public void firstTest() {
    List<Node> nodeList = new ArrayList<Node>();
    nodeList.add(new Node(BigDecimal.valueOf(1), BigDecimal.valueOf(1)));
    nodeList.add(new Node(BigDecimal.valueOf(1), BigDecimal.valueOf(4)));
    nodeList.add(new Node(BigDecimal.valueOf(5), BigDecimal.valueOf(1)));
   
    Graph<Edge> graph = Graph.<Edge>fullGraphFactory(nodeList);
    Graph<WeightedEdge> weightedGraph = SteinersAlgorithm.getWeightedGraph(graph);

    PrimsController controller = new PrimsController(weightedGraph);
    weightedGraph = controller.getSmallestTreeWithOnePoint(weightedGraph);
   
    Node steinersPoint = weightedGraph.getSteinersPoint();
   
    assertTrue(steinersPoint != null);
    assertTrue(steinersPoint.getPointX().compareTo(BigDecimal.valueOf(1.6)) == 1);
    assertTrue(steinersPoint.getPointX().compareTo(BigDecimal.valueOf(1.8)) == -1);
   
    assertTrue(steinersPoint.getPointY().compareTo(BigDecimal.valueOf(1.7)) == 1);
    assertTrue(steinersPoint.getPointY().compareTo(BigDecimal.valueOf(1.8)) == -1);
  }
 
  @Test
  public void secondTest() {
    List<Node> nodeList = new ArrayList<Node>();
    nodeList.add(new Node(BigDecimal.valueOf(2), BigDecimal.valueOf(2)));
    nodeList.add(new Node(BigDecimal.valueOf(1), BigDecimal.valueOf(4)));
    nodeList.add(new Node(BigDecimal.valueOf(6), BigDecimal.valueOf(3)));
   
    Graph<Edge> graph = Graph.<Edge>fullGraphFactory(nodeList);
    Graph<WeightedEdge> weightedGraph = SteinersAlgorithm.getWeightedGraph(graph);

    PrimsController controller = new PrimsController(weightedGraph);
    weightedGraph = controller.getSmallestTreeWithOnePoint(weightedGraph);
   
    Node steinersPoint = weightedGraph.getSteinersPoint();
   
    assertTrue(steinersPoint != null);
    assertTrue(steinersPoint.getPointX().compareTo(BigDecimal.valueOf(2.1)) == 1);
    assertTrue(steinersPoint.getPointX().compareTo(BigDecimal.valueOf(2.3)) == -1);
   
    assertTrue(steinersPoint.getPointY().compareTo(BigDecimal.valueOf(2.4)) == 1);
    assertTrue(steinersPoint.getPointY().compareTo(BigDecimal.valueOf(2.5)) == -1);
  }
 
  @Test
  public void thirdTest() {
    List<Node> nodeList = new ArrayList<Node>();
    nodeList.add(new Node(BigDecimal.valueOf(2), BigDecimal.valueOf(2)));
    nodeList.add(new Node(BigDecimal.valueOf(1), BigDecimal.valueOf(4)));
    nodeList.add(new Node(BigDecimal.valueOf(6), BigDecimal.valueOf(3)));
    nodeList.add(new Node(BigDecimal.valueOf(7), BigDecimal.valueOf(3)));
    nodeList.add(new Node(BigDecimal.valueOf(7), BigDecimal.valueOf(4)));
    nodeList.add(new Node(BigDecimal.valueOf(8), BigDecimal.valueOf(9)));
   
    Graph<Edge> graph = Graph.<Edge>fullGraphFactory(nodeList);
    Graph<WeightedEdge> weightedGraph = SteinersAlgorithm.getWeightedGraph(graph);

    PrimsController controller = new PrimsController(weightedGraph);
    weightedGraph = controller.getSmallestTreeWithOnePoint(weightedGraph);
   
    Node steinersPoint = weightedGraph.getSteinersPoint();
   
    assertTrue(steinersPoint != null);
    assertTrue(steinersPoint.getPointX().compareTo(BigDecimal.valueOf(2.1)) == 1);
    assertTrue(steinersPoint.getPointX().compareTo(BigDecimal.valueOf(2.3)) == -1);
   
    assertTrue(steinersPoint.getPointY().compareTo(BigDecimal.valueOf(2.4)) == 1);
    assertTrue(steinersPoint.getPointY().compareTo(BigDecimal.valueOf(2.5)) == -1);
  }
}
TOP

Related Classes of lt.refactory.primsAlgo.PrimsControllerTest

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.