Changing struture to match the source.
git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/sandbox/graph2/trunk@144616 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
parent
4b8ccd550a
commit
b8cba25df0
@ -0,0 +1,269 @@
|
|||||||
|
package org.apache.commons.graph.domain.dependency;
|
||||||
|
|
||||||
|
import java.util.Set;
|
||||||
|
import java.util.List;
|
||||||
|
import java.util.HashSet;
|
||||||
|
|
||||||
|
import org.apache.commons.graph.*;
|
||||||
|
import org.apache.commons.graph.dependency.exception.*;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description of the Class
|
||||||
|
*/
|
||||||
|
public class DependencyTest
|
||||||
|
extends GraphTest
|
||||||
|
{
|
||||||
|
private DependencyGraph IUT = null;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for the DependencyTest object
|
||||||
|
*
|
||||||
|
* @param name
|
||||||
|
*/
|
||||||
|
public DependencyTest(String name)
|
||||||
|
{
|
||||||
|
super(name);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* The JUnit setup method
|
||||||
|
*/
|
||||||
|
public void setUp()
|
||||||
|
{
|
||||||
|
IUT = new DependencyGraph();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description of the Class
|
||||||
|
*/
|
||||||
|
private class Task
|
||||||
|
{
|
||||||
|
private String name;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Constructor for the Task object
|
||||||
|
*
|
||||||
|
* @param name
|
||||||
|
*/
|
||||||
|
public Task(String name)
|
||||||
|
{
|
||||||
|
this.name = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description of the Method
|
||||||
|
*/
|
||||||
|
public String toString()
|
||||||
|
{
|
||||||
|
return name;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Description of the Field
|
||||||
|
*/
|
||||||
|
public Task T1 = new Task("T1");
|
||||||
|
/**
|
||||||
|
* Description of the Field
|
||||||
|
*/
|
||||||
|
public Task T2 = new Task("T2");
|
||||||
|
/**
|
||||||
|
* Description of the Field
|
||||||
|
*/
|
||||||
|
public Task T3 = new Task("T3");
|
||||||
|
/**
|
||||||
|
* Description of the Field
|
||||||
|
*/
|
||||||
|
public Task T4 = new Task("T4");
|
||||||
|
/**
|
||||||
|
* Description of the Field
|
||||||
|
*/
|
||||||
|
public Task T5 = new Task("T5");
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A unit test for JUnit
|
||||||
|
*/
|
||||||
|
public void testNoDeps()
|
||||||
|
throws Throwable
|
||||||
|
{
|
||||||
|
Set deps = new HashSet();
|
||||||
|
|
||||||
|
IUT.addDependencies(T1, deps);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A unit test for JUnit
|
||||||
|
*/
|
||||||
|
public void testTwoTasksNoDeps()
|
||||||
|
throws Throwable
|
||||||
|
{
|
||||||
|
Set deps = new HashSet();
|
||||||
|
IUT.addDependencies(T1, deps);
|
||||||
|
IUT.addDependencies(T2, deps);
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A unit test for JUnit
|
||||||
|
*/
|
||||||
|
public void testSelfDep()
|
||||||
|
throws Throwable
|
||||||
|
{
|
||||||
|
Set deps = new HashSet();
|
||||||
|
deps.add(T1);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IUT.addDependencies(T1, deps);
|
||||||
|
fail("Self Dependency added without exception.");
|
||||||
|
}
|
||||||
|
catch (CircularDependencyException ex)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A unit test for JUnit
|
||||||
|
*/
|
||||||
|
public void testTwoCyclicDeps()
|
||||||
|
throws Throwable
|
||||||
|
{
|
||||||
|
Set t1Deps = new HashSet();
|
||||||
|
t1Deps.add(T2);
|
||||||
|
|
||||||
|
Set t2Deps = new HashSet();
|
||||||
|
t2Deps.add(T1);
|
||||||
|
|
||||||
|
IUT.addDependencies(T1, t1Deps);
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IUT.addDependencies(T2, t2Deps);
|
||||||
|
fail("No CircularDependencyException thrown.");
|
||||||
|
}
|
||||||
|
catch (CircularDependencyException ex)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A unit test for JUnit
|
||||||
|
*/
|
||||||
|
public void testThreeCyclicDeps()
|
||||||
|
throws Throwable
|
||||||
|
{
|
||||||
|
Set t1Deps = new HashSet();
|
||||||
|
t1Deps.add(T2);
|
||||||
|
|
||||||
|
Set t2Deps = new HashSet();
|
||||||
|
t2Deps.add(T3);
|
||||||
|
|
||||||
|
Set t3Deps = new HashSet();
|
||||||
|
t3Deps.add(T1);
|
||||||
|
|
||||||
|
IUT.addDependencies(T1, t1Deps);
|
||||||
|
IUT.addDependencies(T2, t2Deps);
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
IUT.addDependencies(T3, t3Deps);
|
||||||
|
fail("No CircularDependencyException Thrown.");
|
||||||
|
}
|
||||||
|
catch (CircularDependencyException ex)
|
||||||
|
{}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A unit test for JUnit
|
||||||
|
*/
|
||||||
|
public void testSortedDepsEasy()
|
||||||
|
throws Throwable
|
||||||
|
{
|
||||||
|
Set t1Deps = new HashSet();
|
||||||
|
t1Deps.add(T2);
|
||||||
|
|
||||||
|
Set t2Deps = new HashSet();
|
||||||
|
t2Deps.add(T3);
|
||||||
|
|
||||||
|
IUT.addDependencies(T1, t1Deps);
|
||||||
|
IUT.addDependencies(T2, t2Deps);
|
||||||
|
IUT.addDependencies(T3, new HashSet());
|
||||||
|
|
||||||
|
// T3
|
||||||
|
List t3SDeps =
|
||||||
|
IUT.getSortedDependencies(T3);
|
||||||
|
assertEquals("T3: Wrong number of Deps for T3",
|
||||||
|
1, t3SDeps.size());
|
||||||
|
|
||||||
|
assertEquals("T3: Wrong thing at pos 0",
|
||||||
|
T3, t3SDeps.get(0));
|
||||||
|
|
||||||
|
// T2
|
||||||
|
List t2SDeps =
|
||||||
|
IUT.getSortedDependencies(T2);
|
||||||
|
assertEquals("T2: Wrong number of Deps for T2",
|
||||||
|
2, t2SDeps.size());
|
||||||
|
|
||||||
|
try
|
||||||
|
{
|
||||||
|
assertEquals("T2: Wrong thing at pos 0",
|
||||||
|
T3, t2SDeps.get(0));
|
||||||
|
assertEquals("T2: Wrong thing at pos 1",
|
||||||
|
T2, t2SDeps.get(1));
|
||||||
|
}
|
||||||
|
catch (Throwable ex)
|
||||||
|
{
|
||||||
|
System.err.println(t2SDeps);
|
||||||
|
throw ex;
|
||||||
|
}
|
||||||
|
|
||||||
|
// T1
|
||||||
|
List t1SDeps =
|
||||||
|
IUT.getSortedDependencies(T1);
|
||||||
|
assertEquals("T1: Wrong number of Deps for T1",
|
||||||
|
3, t1SDeps.size());
|
||||||
|
|
||||||
|
assertEquals("T1: Wrong thing at pos 0",
|
||||||
|
T3, t1SDeps.get(0));
|
||||||
|
assertEquals("T1: Wrong thing at pos 1",
|
||||||
|
T2, t1SDeps.get(1));
|
||||||
|
assertEquals("T1: Wrong thing at pos 2",
|
||||||
|
T1, t1SDeps.get(2));
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* A unit test for JUnit
|
||||||
|
*/
|
||||||
|
public void testSortedDepsHard()
|
||||||
|
{
|
||||||
|
Set t1Deps = new HashSet();
|
||||||
|
t1Deps.add(T2);
|
||||||
|
t1Deps.add(T3);
|
||||||
|
t1Deps.add(T5);
|
||||||
|
|
||||||
|
Set t2Deps = new HashSet();
|
||||||
|
t2Deps.add(T4);
|
||||||
|
t2Deps.add(T5);
|
||||||
|
|
||||||
|
IUT.addDependencies(T1, t1Deps);
|
||||||
|
IUT.addDependencies(T2, t2Deps);
|
||||||
|
|
||||||
|
List t1SDeps = IUT.getSortedDependencies(T1);
|
||||||
|
assertEquals("T1: Wrong number of dependents.",
|
||||||
|
5, t1SDeps.size());
|
||||||
|
|
||||||
|
List t2SDeps = IUT.getSortedDependencies(T2);
|
||||||
|
assertEquals("T2: Wrong number of dependents.",
|
||||||
|
3, t2SDeps.size());
|
||||||
|
|
||||||
|
List t3SDeps = IUT.getSortedDependencies(T3);
|
||||||
|
assertEquals("T1: Wrong number of dependents.",
|
||||||
|
1, t3SDeps.size());
|
||||||
|
|
||||||
|
List t4SDeps = IUT.getSortedDependencies(T4);
|
||||||
|
assertEquals("T4: Wrong number of dependents.",
|
||||||
|
1, t4SDeps.size());
|
||||||
|
|
||||||
|
List t5SDeps = IUT.getSortedDependencies(T5);
|
||||||
|
assertEquals("T5: Wrong number of dependents.",
|
||||||
|
1, t5SDeps.size());
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
Loading…
x
Reference in New Issue
Block a user