All pastes #409735 Raw Edit

Something

public java v1 · immutable
#409735 ·published 2007-03-25 21:47 UTC
rendered paste body
import java.util.*;/** * The test class ListGraphTest. * * @author  Stefan Nilsson, Josef Nilsen * @version 2007-03-21 */public class ListGraphTest extends junit.framework.TestCase{    private UndirectedGraph g0, g1, g4;    /**     * Default constructor for test class ListGraphTest.     */    public ListGraphTest() {    }    /**     * Sets up the test fixture.     *     * Called before every test case method.     */    protected void setUp() {        // The empty graph.        g0 = new ListGraph(0);                // One node, one edge.        g1 = new ListGraph(1);        g1.addEdge(0, 0);        // Two disconnected components of size 2.        g4 = new ListGraph(4);        g4.addEdge(0, 1);        g4.addEdge(2, 3, 1);    }           /**     * Tears down the test fixture.     *     * Called after every test case method.     */    protected void tearDown() {        g0 = null;        g1 = null;        g4 = null;    }        public void testToString() {        String g0s = "Vertices: 0 Edges: {}";        String g1s = "Vertices: 1 Edges: {(0,0)}";        String g4s1 = "Vertices: 4 Edges: {(0,1), (2,3,1)}";        String g4s2 = "Vertices: 4 Edges: {(2,3,1), (0,1)}";        assertTrue(g0.toString().equals(g0s));        assertTrue(g1.toString().equals(g1s));        assertTrue(g4.toString().equals(g4s1) ||                   g4.toString().equals(g4s2));    }    public void testNumVertices() {        assertEquals(g0.numVertices(), 0);        assertEquals(g1.numVertices(), 1);        assertEquals(g4.numVertices(), 4);    }        public void testNumEdges() {        assertEquals(g0.numEdges(), 0);        assertEquals(g1.numEdges(), 1);        assertEquals(g4.numEdges(), 2);        g4.removeEdge(1, 2);        assertEquals(g4.numEdges(), 2);        g4.addEdge(0, 1);        assertEquals(g4.numEdges(), 2);        g4.addEdge(1, 2);        assertEquals(g4.numEdges(), 3);        g4.removeEdge(0, 1);        assertEquals(g4.numEdges(), 2);        g4.removeEdge(0, 1);        assertEquals(g4.numEdges(), 2);    }    public void testEdges() {        assertEquals(g1.edgeCost(0, 0), -1);        assertEquals(g4.edgeCost(0, 1), -1);        assertEquals(g4.edgeCost(2, 3), 1);        assertEquals(g4.edgeCost(1, 2), -1);        g1.removeEdge(0, 0);        g4.removeEdge(0, 1);        g4.removeEdge(2, 3);        assertEquals(g1.edgeCost(0, 0), -1);        assertEquals(g4.edgeCost(0, 1), -1);        assertEquals(g4.edgeCost(2, 3), -1);        g1.removeEdge(0, 0);        g4.removeEdge(0, 1);        g4.removeEdge(2, 3);        assertEquals(g1.edgeCost(0, 0), -1);        assertEquals(g4.edgeCost(0, 1), -1);        assertEquals(g4.edgeCost(2, 3), -1);    }        public void testDegree() {        assertEquals(g1.degree(0), 1);        g1.removeEdge(0, 0);        assertEquals(g1.degree(0), 0);        assertEquals(g4.degree(0), 1);        assertEquals(g4.degree(1), 1);        g4.addEdge(1, 2);        assertEquals(g4.degree(0), 1);        assertEquals(g4.degree(1), 2);        g4.removeEdge(0, 1);        assertEquals(g4.degree(0), 0);        assertEquals(g4.degree(1), 1);        g4.removeEdge(0, 1);        assertEquals(g4.degree(0), 0);        assertEquals(g4.degree(1), 1);    }        public void testAdjacentVertices() {        VertexIterator pi = g1.adjacentVertices(0);        assertTrue(pi.hasNext());        assertEquals(pi.next(), 0);        pi = g4.adjacentVertices(0);        assertEquals(pi.next(), 1);        assertFalse(pi.hasNext());        g4.addEdge(0, 0);        g4.addEdge(0, 1);        g4.addEdge(0, 2);        g4.addEdge(0, 3);        pi = g4.adjacentVertices(0);        Set<Integer> s = new HashSet<Integer>();        for (int i = 0; i < 4; i++)            s.add(pi.next());        assertEquals(s.size(), 4);        for (int i = 0; i < 4; i++)            assertTrue(s.contains(i));        assertFalse(pi.hasNext());    }        public void testAreAdjacent() {        assertTrue(g1.areAdjacent(0, 0));        assertFalse(g4.areAdjacent(0, 0));        assertTrue(g4.areAdjacent(0, 1));        assertFalse(g4.areAdjacent(1, 2));        g4.addEdge(1, 2);        assertTrue(g4.areAdjacent(1, 2));    }}