Package org.opentripplanner.routing.graph

Source Code of org.opentripplanner.routing.graph.GraphTest

/* This program is free software: you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License
as published by the Free Software Foundation, either version 3 of
the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>. */

package org.opentripplanner.routing.graph;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertFalse;
import static org.junit.Assert.assertTrue;
import static org.opentripplanner.util.ArrayUtils.contains;

import org.junit.Test;
import org.opentripplanner.routing.alertpatch.AlertPatch;

public class GraphTest {
    @Test
    public final void testAlertPatch() {
        final AlertPatch alertPatches[][] = new AlertPatch[10][];
        Graph graph = new Graph();
        Vertex vertex0 = new SimpleConcreteVertex(graph, "Vertex 0", 0, 0);
        Vertex vertex1 = new SimpleConcreteVertex(graph, "Vertex 1", 0, 180);
        Edge edge0 = new SimpleConcreteEdge(vertex0, vertex1);
        Edge edge1 = new SimpleConcreteEdge(vertex1, vertex0);
        AlertPatch alertPatch0 = new AlertPatch();
        AlertPatch alertPatch1 = new AlertPatch();
        AlertPatch alertPatch2 = new AlertPatch();
        AlertPatch alertPatch3 = new AlertPatch();

        alertPatch0.setId("A");
        alertPatch1.setId("A");
        alertPatch2.setId("B");
        alertPatch3.setId("C");

        graph.addAlertPatch(null, null);
        graph.addAlertPatch(null, alertPatch0);
        graph.addAlertPatch(null, alertPatch3);
        graph.addAlertPatch(edge0, null);
        graph.removeAlertPatch(edge1, null);
        graph.removeAlertPatch(null, alertPatch1);
        graph.removeAlertPatch(null, alertPatch2);
        graph.removeAlertPatch(null, null);
        alertPatches[0] = graph.getAlertPatches(null);
        alertPatches[1] = graph.getAlertPatches(edge0);
        graph.addAlertPatch(edge0, alertPatch0);
        alertPatches[2] = graph.getAlertPatches(edge0);
        graph.addAlertPatch(edge0, alertPatch1);
        alertPatches[3] = graph.getAlertPatches(edge1);
        graph.addAlertPatch(edge1, alertPatch3);
        alertPatches[4] = graph.getAlertPatches(edge0);
        graph.removeAlertPatch(edge0, alertPatch1);
        alertPatches[5] = graph.getAlertPatches(edge0);
        graph.addAlertPatch(edge1, alertPatch2);
        alertPatches[6] = graph.getAlertPatches(edge1);
        graph.removeAlertPatch(edge1, alertPatch2);
        graph.removeAlertPatch(edge1, alertPatch2);
        alertPatches[7] = graph.getAlertPatches(edge1);
        graph.addAlertPatch(edge0, alertPatch0);
        graph.addAlertPatch(edge0, alertPatch1);
        graph.addAlertPatch(edge0, alertPatch2);
        graph.addAlertPatch(edge0, alertPatch3);
        alertPatches[8] = graph.getAlertPatches(edge0);
        graph.removeAlertPatch(edge0, alertPatch2);
        graph.removeAlertPatch(edge0, alertPatch1);
        graph.removeAlertPatch(edge0, alertPatch3);
        alertPatches[9] = graph.getAlertPatches(edge0);

        assertEquals(0, alertPatches[0].length);
        assertFalse(contains (alertPatches[0], alertPatch0));
        assertFalse(contains (alertPatches[0], alertPatch1));
        assertFalse(contains (alertPatches[0], alertPatch2));
        assertFalse(contains (alertPatches[0], alertPatch3));
        assertEquals(0, alertPatches[1].length);
        assertFalse(contains (alertPatches[1], alertPatch0));
        assertFalse(contains (alertPatches[1], alertPatch1));
        assertFalse(contains (alertPatches[1], alertPatch2));
        assertFalse(contains (alertPatches[1], alertPatch3));
        assertEquals(1, alertPatches[2].length);
        assertTrue(contains (alertPatches[2], alertPatch0));
        assertTrue(contains (alertPatches[2], alertPatch1));
        assertFalse(contains (alertPatches[2], alertPatch2));
        assertFalse(contains (alertPatches[2], alertPatch3));
        assertEquals(0, alertPatches[3].length);
        assertFalse(contains (alertPatches[3], alertPatch0));
        assertFalse(contains (alertPatches[3], alertPatch1));
        assertFalse(contains (alertPatches[3], alertPatch2));
        assertFalse(contains (alertPatches[3], alertPatch3));
        assertEquals(1, alertPatches[4].length);
        assertTrue(contains (alertPatches[4], alertPatch0));
        assertTrue(contains (alertPatches[4], alertPatch1));
        assertFalse(contains (alertPatches[4], alertPatch2));
        assertFalse(contains (alertPatches[4], alertPatch3));
        assertEquals(0, alertPatches[5].length);
        assertFalse(contains (alertPatches[5], alertPatch0));
        assertFalse(contains (alertPatches[5], alertPatch1));
        assertFalse(contains (alertPatches[5], alertPatch2));
        assertFalse(contains (alertPatches[5], alertPatch3));
        assertEquals(2, alertPatches[6].length);
        assertFalse(contains (alertPatches[6], alertPatch0));
        assertFalse(contains (alertPatches[6], alertPatch1));
        assertTrue(contains (alertPatches[6], alertPatch2));
        assertTrue(contains (alertPatches[6], alertPatch3));
        assertEquals(1, alertPatches[7].length);
        assertFalse(contains (alertPatches[7], alertPatch0));
        assertFalse(contains (alertPatches[7], alertPatch1));
        assertFalse(contains (alertPatches[7], alertPatch2));
        assertTrue(contains (alertPatches[7], alertPatch3));
        assertEquals(3, alertPatches[8].length);
        assertTrue(contains (alertPatches[8], alertPatch0));
        assertTrue(contains (alertPatches[8], alertPatch1));
        assertTrue(contains (alertPatches[8], alertPatch2));
        assertTrue(contains (alertPatches[8], alertPatch3));
        assertEquals(0, alertPatches[9].length);
        assertFalse(contains (alertPatches[9], alertPatch0));
        assertFalse(contains (alertPatches[9], alertPatch1));
        assertFalse(contains (alertPatches[9], alertPatch2));
        assertFalse(contains (alertPatches[9], alertPatch3));
    }
}
TOP

Related Classes of org.opentripplanner.routing.graph.GraphTest

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.