Removing impl directory.

git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/sandbox/graph2/trunk@144619 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
ddp 2002-05-08 18:33:38 +00:00
parent 0235babc8b
commit 0b080d166f
4 changed files with 0 additions and 914 deletions

View File

@ -1,567 +0,0 @@
package org.apache.commons.graph.impl;
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Commons" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Commons", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
/**
* AllPathsTest This tests the All Pairs Shortest Path solution.
*/
import org.apache.commons.graph.*;
import org.apache.commons.graph.exception.*;
import java.util.List;
import java.util.Iterator;
import junit.framework.*;
/**
* Description of the Class
*/
public class AllPathsTest
extends WeightedGraphTest
{
/**
* Constructor for the AllPathsTest object
*
* @param name
*/
public AllPathsTest(String name)
{
super(name);
}
/**
* A unit test for JUnit
*/
public void testAPWDirectedEdge()
throws Throwable
{
DirectedGraph g = makeWDirectedEdge();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
5.0, 2, 1);
try
{
IUT.getShortestPath(V2, V1);
fail("NoPathException not thrown.");
}
catch (NoPathException ex)
{}
}
/**
* A unit test for JUnit
*/
public void testAPPositiveCycle()
throws Throwable
{
DirectedGraph g = makePositiveCycle();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
2.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V3),
V2, V3, V2, V2_V3,
4.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V3, V1),
V3, V1, V3, V3_V1,
1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V2, V1_V2,
6.0, 3, 2);
verifyPath(g, IUT.getShortestPath(V2, V1),
V2, V1, V3, V2_V3,
5.5, 3, 2);
verifyPath(g, IUT.getShortestPath(V3, V2),
V3, V2, V1, V1_V2,
3.5, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testAPPositivePartNegCycle()
throws Throwable
{
DirectedGraph g = makePositivePartNegCycle();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
2.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V3),
V2, V3, V2, V2_V3,
4.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V3, V1),
V3, V1, V3, V3_V1,
-1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V2, V2_V3,
6.0, 3, 2);
verifyPath(g, IUT.getShortestPath(V2, V1),
V2, V1, V3, V2_V3,
2.5, 3, 2);
verifyPath(g, IUT.getShortestPath(V3, V2),
V3, V2, V1, V1_V2,
0.5, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testAPNegativeCycle()
throws Throwable
{
try
{
AllPaths IUT = new AllPaths(makeNegativeCycle());
fail("NegativeCycleException not thrown.");
}
catch (NegativeCycleException ex)
{}
}
/**
* A unit test for JUnit
*/
public void testAPNegativePartPosCycle()
throws Throwable
{
try
{
AllPaths IUT = new AllPaths(makeNegativePartPosCycle());
fail("NegativeCycleException not thrown.");
}
catch (NegativeCycleException ex)
{}
}
/*
* Test Pipes now. . .
*/
/**
* A unit test for JUnit
*/
public void testAPPositivePipe()
throws Throwable
{
DirectedGraph g = makePositivePipe();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V3),
V2, V3, V2, V2_V3,
3.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V2, V1_V2,
5.0, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testAPPositivePartNegPipe()
throws Throwable
{
DirectedGraph g = makePositivePartNegPipe();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
-1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V3),
V2, V3, V2, V2_V3,
3.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V2, V2_V3,
2.0, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testAPNegativePipe()
throws Throwable
{
DirectedGraph g = makeNegativePipe();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
-1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V3),
V2, V3, V2, V2_V3,
-3.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V2, V1_V2,
-5.0, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testAPNegativePartPosPipe()
throws Throwable
{
DirectedGraph g = makeNegativePartPosPipe();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V3),
V2, V3, V2, V2_V3,
-3.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V2, V1_V2,
-2.0, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testMultiplePathL()
throws Throwable
{
DirectedGraph g = makeMultiplePathL();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V4, V4),
V4, V4, V4,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V1, V1_V3,
2.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V4),
V2, V4, V2, V2_V4,
1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V3, V4),
V3, V4, V3, V3_V4,
2.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V4),
V1, V4, V2, V1_V2,
3.0, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testMultiplePathR()
throws Throwable
{
DirectedGraph g = makeMultiplePathR();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V4, V4),
V4, V4, V4,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
2.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V1, V1_V3,
1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V4),
V2, V4, V2, V2_V4,
2.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V3, V4),
V3, V4, V3, V3_V4,
1.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V4),
V1, V4, V3, V1_V3,
3.0, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testMultiplePathEarlyLow()
throws Throwable
{
DirectedGraph g = makeMultiplePathEarlyLow();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V4, V4),
V4, V4, V4,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
10.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V1, V1_V3,
0.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V4),
V2, V4, V2, V2_V4,
10.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V3, V4),
V3, V4, V3, V3_V4,
10.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V4),
V1, V4, V3, V3_V4,
11.0, 3, 2);
}
/**
* A unit test for JUnit
*/
public void testMultiplePathEarlyHigh()
throws Throwable
{
DirectedGraph g = makeMultiplePathEarlyHigh();
AllPaths IUT = new AllPaths(g);
verifyPath(g, IUT.getShortestPath(V1, V1),
V1, V1, V1,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V2, V2),
V2, V2, V2,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V3, V3),
V3, V3, V3,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V4, V4),
V4, V4, V4,
0.0, 1, 0);
verifyPath(g, IUT.getShortestPath(V1, V2),
V1, V2, V1, V1_V2,
10.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V3),
V1, V3, V1, V1_V3,
10.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V2, V4),
V2, V4, V2, V2_V4,
10.0, 2, 1);
verifyPath(g, IUT.getShortestPath(V3, V4),
V3, V4, V3, V3_V4,
0.5, 2, 1);
verifyPath(g, IUT.getShortestPath(V1, V4),
V1, V4, V3, V1_V3,
11.0, 3, 2);
}
/**
* Description of the Method
*/
public void verifyPath(DirectedGraph g, WeightedPath wp,
Vertex start, Vertex end, Vertex mid,
double cost, int vertexCount, int edgeCount)
throws Throwable
{
verifyPath(g, wp, start, end, mid,
null, cost, vertexCount, edgeCount);
}
/**
* Description of the Method
*/
public void verifyPath(DirectedGraph g, WeightedPath wp,
Vertex start, Vertex end, Vertex mid, Edge midE,
double cost, int vertexCount, int edgeCount)
throws Throwable
{
assertEquals("Wrong Start",
start, wp.getStart());
assertEquals("Wrong End",
end, wp.getEnd());
assertEquals("Wrong Cost of Path: " + start + "->" + end,
cost, wp.getWeight(), 0.0001);
assertEquals("Wrong number of Vertices in " + start + "->" + end,
vertexCount, wp.getVertices().size());
assertEquals("Wrong number of Edges in " + start + "->" + end,
edgeCount, wp.getEdges().size());
assertTrue("Path " + start + "->" + end + " doesn't contain: " + mid,
wp.getVertices().contains(mid));
if (midE != null)
{
assertTrue("Path " + start + "-> " + end + " doesn't contain edge: " + midE,
wp.getEdges().contains(midE));
}
List edgeList = wp.getEdges();
List vertList = wp.getVertices();
for (int i = 0; i < edgeList.size(); i++)
{
assertEquals("Edge: " + edgeList.get(i) + " doesn't use " +
vertList.get(i) + " as source.",
g.getSource((Edge) edgeList.get(i)),
(Vertex) vertList.get(i));
assertEquals("Edge: " + edgeList.get(i) + " doesn't use " +
vertList.get(i) + " as target.",
g.getTarget((Edge) edgeList.get(i)),
(Vertex) vertList.get(i + 1));
}
}
}

View File

@ -1,10 +0,0 @@
package org.apache.commons.graph.impl;
/**
* Dummy This is a dummy interface with no methods to ensure that things are
* getting built by the Factory properly.
*/
public interface Dummy
{
}

View File

@ -1,120 +0,0 @@
package org.apache.commons.graph.impl;
import java.util.Set;
import java.util.HashSet;
import org.apache.commons.graph.*;
import org.apache.commons.graph.contract.*;
import org.apache.commons.graph.exception.*;
/**
* Description of the Class
*/
public class DummyContract
implements Contract
{
/**
* Description of the Field
*/
public DirectedGraph impl = null;
/**
* Description of the Field
*/
public boolean doVerify = false;
/**
* Description of the Field
*/
public Set acceptAddEdges = new HashSet();
/**
* Description of the Field
*/
public Set acceptAddVertices = new HashSet();
/**
* Description of the Field
*/
public Set acceptDelEdges = new HashSet();
/**
* Description of the Field
*/
public Set acceptDelVertices = new HashSet();
/**
* Sets the impl attribute of the DummyContract object
*/
public void setImpl(DirectedGraph impl)
{
this.impl = impl;
}
/**
* Gets the interface attribute of the DummyContract object
*/
public Class getInterface()
{
return org.apache.commons.graph.impl.Dummy.class;
}
/**
* Description of the Method
*/
public void verify()
throws GraphException
{
if (!doVerify)
{
throw new GraphException("Verify Failed.");
}
}
/**
* Adds a feature to the Edge attribute of the DummyContract object
*/
public void addEdge(Edge e,
Vertex start,
Vertex end)
throws GraphException
{
if (acceptAddEdges.contains(e))
{
throw new GraphException("Edge " + e + " not on list.");
}
}
/**
* Adds a feature to the Vertex attribute of the DummyContract object
*/
public void addVertex(Vertex v)
throws GraphException
{
if (acceptAddVertices.contains(v))
{
throw new GraphException("Vertex " + v + " not on list.");
}
}
/**
* Description of the Method
*/
public void removeEdge(Edge e)
throws GraphException
{
if (acceptDelEdges.contains(e))
{
throw new GraphException("Edge " + e + " not on list.");
}
}
/**
* Description of the Method
*/
public void removeVertex(Vertex v)
throws GraphException
{
if (acceptDelVertices.contains(v))
{
throw new GraphException("Vertex " + v + " not on list.");
}
}
}

View File

@ -1,217 +0,0 @@
package org.apache.commons.graph.impl;
/* ====================================================================
* The Apache Software License, Version 1.1
*
* Copyright (c) 2001 The Apache Software Foundation. All rights
* reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions
* are met:
*
* 1. Redistributions of source code must retain the above copyright
* notice, this list of conditions and the following disclaimer.
*
* 2. Redistributions in binary form must reproduce the above copyright
* notice, this list of conditions and the following disclaimer in
* the documentation and/or other materials provided with the
* distribution.
*
* 3. The end-user documentation included with the redistribution,
* if any, must include the following acknowledgment:
* "This product includes software developed by the
* Apache Software Foundation (http://www.apache.org/)."
* Alternately, this acknowledgment may appear in the software itself,
* if and wherever such third-party acknowledgments normally appear.
*
* 4. The names "Apache" and "Apache Software Foundation" and
* "Commons" must not be used to endorse or promote products
* derived from this software without prior written permission. For
* written permission, please contact apache@apache.org.
*
* 5. Products derived from this software may not be called "Apache",
* "Commons", nor may "Apache" appear in their name, without
* prior written permission of the Apache Software Foundation.
*
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
* OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE APACHE SOFTWARE FOUNDATION OR
* ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
* SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
* LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF
* USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
* OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT
* OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
* SUCH DAMAGE.
* ====================================================================
*
* This software consists of voluntary contributions made by many
* individuals on behalf of the Apache Software Foundation. For more
* information on the Apache Software Foundation, please see
* <http://www.apache.org/>.
*/
import org.apache.commons.graph.*;
import org.apache.commons.graph.contract.*;
import org.apache.commons.graph.exception.*;
/**
* Description of the Class
*/
public class GraphFactoryTest extends GraphTest
{
private GraphFactory IUT = null;
/**
* Constructor for the GraphFactoryTest object
*
* @param name
*/
public GraphFactoryTest(String name)
{
super(name);
}
/**
* The JUnit setup method
*/
public void setUp()
{
IUT = new GraphFactory();
}
// Are the Interfaces right?
/**
* A unit test for JUnit
*/
public void testInterfaceNoWeight()
throws Throwable
{
Contract contracts[] =
new Contract[1];
DummyContract c0 = new DummyContract();
c0.doVerify = true;
contracts[0] = c0;
DirectedGraph dg =
IUT.makeDirectedGraph(contracts,
false,
makeTwoCycle());
assertTrue("Graph should implement Dummy.",
dg instanceof Dummy);
assertTrue("Graph should not implement WeightedGraph.",
!(dg instanceof WeightedGraph));
}
/**
* A unit test for JUnit
*/
public void testInterfaceWeight()
throws Throwable
{
Contract contracts[] =
new Contract[1];
DummyContract c0 = new DummyContract();
c0.doVerify = true;
contracts[0] = c0;
DirectedGraph dg =
IUT.makeDirectedGraph(contracts,
true,
makeTwoCycle());
assertTrue("Graph should implement Dummy.",
dg instanceof Dummy);
assertTrue("Graph should implement WeightedGraph.",
dg instanceof WeightedGraph);
}
/**
* A unit test for JUnit
*/
public void testMInterfaceNoWeight()
throws Throwable
{
Contract contracts[] =
new Contract[1];
DummyContract c0 = new DummyContract();
c0.doVerify = true;
contracts[0] = c0;
MutableDirectedGraph dg =
IUT.makeMutableDirectedGraph(contracts,
false,
makeTwoCycle());
assertTrue("Graph should implement Dummy.",
dg instanceof Dummy);
assertTrue("Graph should not implement WeightedGraph.",
!(dg instanceof WeightedGraph));
}
/**
* A unit test for JUnit
*/
public void testMInterfaceWeight()
throws Throwable
{
Contract contracts[] =
new Contract[1];
DummyContract c0 = new DummyContract();
c0.doVerify = true;
contracts[0] = c0;
MutableDirectedGraph dg =
IUT.makeMutableDirectedGraph(contracts,
true,
makeTwoCycle());
assertTrue("Graph should implement Dummy.",
dg instanceof Dummy);
assertTrue("Graph should implement WeightedGraph.",
dg instanceof WeightedGraph);
}
// Does it utilize the Contracts?
/**
* A unit test for JUnit
*/
public void testInvalidContract()
throws Throwable
{
Contract contracts[] =
new Contract[1];
DummyContract c0 = new DummyContract();
c0.doVerify = false;
contracts[0] = c0;
try
{
DirectedGraph dg =
IUT.makeDirectedGraph(contracts,
false,
makeTwoCycle());
fail("GraphException not thrown.");
}
catch (GraphException e)
{}
}
/**
* A unit test for JUnit
*/
public void testValidContract()
throws Throwable
{
Contract contracts[] =
new Contract[1];
DummyContract c0 = new DummyContract();
c0.doVerify = true;
contracts[0] = c0;
DirectedGraph dg =
IUT.makeDirectedGraph(contracts,
false,
makeTwoCycle());
}
}