View Javadoc
1   package org.opentrafficsim.road.gtu.strategical;
2   
3   import java.util.HashMap;
4   import java.util.Map;
5   
6   import org.junit.Test;
7   import org.opentrafficsim.core.geometry.OTSGeometryException;
8   import org.opentrafficsim.core.geometry.OTSLine3D;
9   import org.opentrafficsim.core.geometry.OTSPoint3D;
10  import org.opentrafficsim.core.gtu.GTUException;
11  import org.opentrafficsim.core.gtu.GTUType;
12  import org.opentrafficsim.core.gtu.behavioralcharacteristics.BehavioralCharacteristics;
13  import org.opentrafficsim.core.network.LinkType;
14  import org.opentrafficsim.core.network.LongitudinalDirectionality;
15  import org.opentrafficsim.core.network.Network;
16  import org.opentrafficsim.core.network.NetworkException;
17  import org.opentrafficsim.core.network.OTSLink;
18  import org.opentrafficsim.core.network.OTSNetwork;
19  import org.opentrafficsim.core.network.OTSNode;
20  import org.opentrafficsim.road.DefaultTestParameters;
21  import org.opentrafficsim.road.gtu.lane.tactical.LaneBasedCFLCTacticalPlanner;
22  import org.opentrafficsim.road.gtu.lane.tactical.following.CarFollowingModel;
23  import org.opentrafficsim.road.gtu.lane.tactical.following.IDMPlus;
24  import org.opentrafficsim.road.gtu.strategical.route.LaneBasedStrategicalRoutePlanner;
25  
26  /**
27   * Test the LaneBasedStrategicalRoutePlanner class.
28   * <p>
29   * Copyright (c) 2013-2016 Delft University of Technology, PO Box 5, 2600 AA, Delft, the Netherlands. All rights reserved. <br>
30   * BSD-style license. See <a href="http://opentrafficsim.org/docs/current/license.html">OpenTrafficSim License</a>.
31   * <p>
32   * @version $Revision$, $LastChangedDate$, by $Author$, initial version Apr 19, 2016 <br>
33   * @author <a href="http://www.tbm.tudelft.nl/averbraeck">Alexander Verbraeck</a>
34   * @author <a href="http://www.tudelft.nl/pknoppers">Peter Knoppers</a>
35   */
36  public class LaneBasedStrategicalRoutePlannerTest
37  {
38  
39      /**
40       * Test the nextLinkDirection method.
41       * @throws GTUException if not caught this test has failed
42       * @throws NetworkException if not caught this test has failed
43       * @throws OTSGeometryException when construction of design line fails
44       */
45      @Test
46      public final void nextLinkDirectionTest() throws GTUException, NetworkException, OTSGeometryException
47      {
48          Network network = new OTSNetwork("next link direction test");
49          GTUType gtuType = new GTUType("car");
50          // Build a really simple network
51          OTSNode fromNode = new OTSNode(network, "from", new OTSPoint3D(0, 0, 0));
52          OTSNode toNode = new OTSNode(network, "to", new OTSPoint3D(100, 0, 0));
53          Map<GTUType, LongitudinalDirectionality> directionalityMap = new HashMap<GTUType, LongitudinalDirectionality>();
54          directionalityMap.put(gtuType, LongitudinalDirectionality.DIR_PLUS); // Start with the easy cases
55          OTSLine3D designLine = new OTSLine3D(fromNode.getPoint(), toNode.getPoint());
56          OTSLink link = new OTSLink(network, "link", fromNode, toNode, LinkType.ALL, designLine, directionalityMap);
57          CarFollowingModel cfm = new IDMPlus();
58          LaneBasedCFLCTacticalPlanner tacticalPlanner = new LaneBasedCFLCTacticalPlanner(null, null, null);
59          BehavioralCharacteristics bc = DefaultTestParameters.create();
60          // TODO Gtu cannot be null anymore...
61          // LaneBasedStrategicalRoutePlanner lbsrp = new LaneBasedStrategicalRoutePlanner(bc, tacticalPlanner, null);
62  
63      }
64  }