/** * */ package vroom.common.heuristics.jcw; import static org.junit.Assert.fail; import java.util.ArrayList; import java.util.Collection; import java.util.Collections; import java.util.LinkedList; import java.util.List; import org.junit.Before; import org.junit.Test; import vroom.common.heuristics.cw.JCWArc; import vroom.common.modeling.dataModel.Arc; import vroom.common.modeling.dataModel.ListRoute.ArrayListRoute; import vroom.common.modeling.dataModel.Depot; import vroom.common.modeling.dataModel.Fleet; import vroom.common.modeling.dataModel.INodeVisit; import vroom.common.modeling.dataModel.IRoute; import vroom.common.modeling.dataModel.Node; import vroom.common.modeling.dataModel.NodeVisit; import vroom.common.modeling.dataModel.Request; import vroom.common.modeling.dataModel.Solution; import vroom.common.modeling.dataModel.StaticInstance; import vroom.common.modeling.dataModel.Vehicle; import vroom.common.modeling.dataModel.attributes.PointLocation; import vroom.common.modeling.util.EuclidianDistance; /** * <code>JCWArcTest</code> is a test case for {@link JCWArc} * <p> * Creation date: Apr 30, 2010 - 9:25:22 AM * * @author Victor Pillac, <a href="http://uniandes.edu.co">Universidad de Los * Andes</a>-<a href="http://copa.uniandes.edu.co">Copa</a> <a * href="http://www.emn.fr">Ecole des Mines de Nantes</a>-<a * href="http://www.irccyn.ec-nantes.fr/irccyn/d/en/equipes/Slp">SLP</a> * @version 1.0 */ public class JCWArcTest { private int numNodes = 10; private double radius = 10; private List<Node> nodes; private IRoute<INodeVisit> route; private Collection<Arc> arcs; private Collection<JCWArc> jCWArcs; private EuclidianDistance costHelper; @Before public void setUp() throws Exception { Depot depot = new Depot(0, new PointLocation(radius, 0)); Vehicle v = new Vehicle(0, "TestTruc", 100); costHelper = new EuclidianDistance(); route = new ArrayListRoute(new Solution<IRoute<?>>(new StaticInstance( "TestInstance", 0, Fleet.newHomogenousFleet(1, v), Collections.singletonList(depot), null, costHelper)), v); nodes = new ArrayList<Node>(numNodes + 2); arcs = new LinkedList<Arc>(); jCWArcs = new LinkedList<JCWArc>(); route.appendNode(new NodeVisit(depot)); nodes.add(depot); for (int n = 1; n <= numNodes; n++) { double x = radius * Math.cos(2 * Math.PI * n / (numNodes + 1)); double y = radius * Math.sin(2 * Math.PI * n / (numNodes + 1)); Node node = new Node(n, new PointLocation(x, y)); nodes.add(node); for (NodeVisit nv : NodeVisit .createNodeVisits(new Request(n, node))) { route.appendNode(nv); } } route.appendNode(new NodeVisit(depot)); nodes.add(depot); for (int i = 0; i < route.length(); i++) { for (int j = 0; j < route.length(); j++) { INodeVisit d = route.getNodeAt(j); INodeVisit o = route.getNodeAt(i); Arc a = new Arc(o, d, costHelper.getDistance(o, d), true); arcs.add(a); jCWArcs.add(new JCWArc(a, i * route.length() + j)); } } } /** * Test method for * {@link vroom.common.heuristics.cw.JCWArc#compareTo(vroom.common.heuristics.cw.IJCWArc)} * . */ @Test public void testCompareTo() { fail("Not yet implemented"); } /** * Test method for * {@link vroom.common.heuristics.cw.JCWArc#isHeadNodeInterior()}. */ @Test public void testIsHeadNodeInterior() { } /** * Test method for * {@link vroom.common.heuristics.cw.JCWArc#isTailNodeInterior()}. */ @Test public void testIsTailNodeInterior() { fail("Not yet implemented"); } }