X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fgraph%2FGraphTest.java;fp=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fgraph%2FGraphTest.java;h=7a5a87971204255aa1c945af36b5b972fc826a04;hb=102eebeba2200f9bb2d8523bdfe7ace4ff663628;hp=305765f90670da4abb60d599083d5f62bba6edbf;hpb=531559394b56b0dbf817d52c8c596216550a5cbb;p=utils diff --git a/system/general/src/test/java/org/wamblee/system/graph/GraphTest.java b/system/general/src/test/java/org/wamblee/system/graph/GraphTest.java index 305765f9..7a5a8797 100644 --- a/system/general/src/test/java/org/wamblee/system/graph/GraphTest.java +++ b/system/general/src/test/java/org/wamblee/system/graph/GraphTest.java @@ -99,6 +99,32 @@ public class GraphTest extends TestCase { assertEquals(12, edges.size()); // 2 outgoing and 2 incoming nodes. } + public void testApplyFilter() { + Graph graph = new Graph(); + graph.addNode(new DefaultNode("x")); + graph.addNode(new DefaultNode("y")); + graph.addNode(new DefaultNode("z")); + graph.addEdge(new DefaultEdge(graph.findNode("x"), graph.findNode("y"))); + graph.addEdge(new DefaultEdge(graph.findNode("y"), graph.findNode("z"))); + graph.addEdge(new DefaultEdge(graph.findNode("z"), graph.findNode("x"))); + + assertEquals(3, graph.getEdges().size()); + + graph.applyFilter(new EdgeFilter() { + @Override + public boolean isViolated(Edge aEdge) { + if (aEdge.getFrom().getName().equals("x")) { + return false; + } + return true; + } + }); + + assertEquals(1, graph.getEdges().size()); + assertEquals("x", graph.getEdges().get(0).getFrom().getName()); + + } + public void testFindIncomingOutgoing() { Graph graph = new Graph(); Node x = new DefaultNode("x");