X-Git-Url: http://wamblee.org/gitweb/?a=blobdiff_plain;f=system%2Fgeneral%2Fsrc%2Ftest%2Fjava%2Forg%2Fwamblee%2Fsystem%2Fgraph%2FGraphTest.java;h=fa93d003bca8af38c24d7e7140dcb716b5eca9e6;hb=8de36ff0206c996baf3ee4adc3e2293b12ff5f39;hp=7a5a87971204255aa1c945af36b5b972fc826a04;hpb=102eebeba2200f9bb2d8523bdfe7ace4ff663628;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 7a5a8797..fa93d003 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 @@ -1,12 +1,12 @@ /* * Copyright 2008 the original author or authors. - * + * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -15,16 +15,20 @@ */ package org.wamblee.system.graph; -import java.util.Arrays; -import java.util.List; +import junit.framework.TestCase; +import static org.mockito.Mockito.*; -import org.easymock.classextension.EasyMock; import org.wamblee.test.AssertionUtils; -import junit.framework.TestCase; +import java.util.Arrays; +import java.util.List; +/** + * + * @author $author$ + * @version $Revision$ + */ public class GraphTest extends TestCase { - public void testNodeMgt() { final Graph graph = new Graph(); assertTrue(graph.getNodes().isEmpty()); @@ -39,129 +43,137 @@ public class GraphTest extends TestCase { assertTrue(graph.removeNode(x)); assertTrue(graph.getNodes().isEmpty()); - // Empty node set. + // Empty node set. assertFalse(graph.removeNode(x)); - - Node y = new DefaultNode("y"); - graph.addNodes(Arrays.asList(new Node[] { x, y} )); + + Node y = new DefaultNode("y"); + graph.addNodes(Arrays.asList(new Node[] { x, y })); assertEquals(2, graph.getNodes().size()); - + // duplicate node - AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { + AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { @Override public void run() throws Exception { - graph.addNode(new DefaultNode("x")); + graph.addNode(new DefaultNode("x")); } }, IllegalArgumentException.class); } - public void testEdgeMgt() { + public void testEdgeMgt() { final Graph graph = new Graph(); - final Node x = new DefaultNode("x"); - final Node y = new DefaultNode("y"); + final Node x = new DefaultNode("x"); + final Node y = new DefaultNode("y"); graph.addNode(x); graph.addNode(y); - final Edge e = new DefaultEdge(x, y); + + final Edge e = new DefaultEdge(x, y); graph.addEdge(e); assertEquals(Arrays.asList(new Edge[] { e }), graph.getEdges()); - + // duplicate edge. - AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { + AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { @Override public void run() throws Exception { - graph.addEdge(e); + graph.addEdge(e); } }, IllegalArgumentException.class); - + // Remove node when edge is still present - AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { + AssertionUtils.assertException(new AssertionUtils.ErroneousCode() { @Override public void run() throws Exception { graph.removeNode(x); } }, IllegalArgumentException.class); - - + Node a = new DefaultNode("a"); graph.addNode(a); - graph.addEdges(Arrays.asList(new Edge[] { new DefaultEdge(x, a), new DefaultEdge(y, a) })); + graph.addEdges(Arrays.asList(new Edge[] { new DefaultEdge(x, a), + new DefaultEdge(y, a) })); assertEquals(3, graph.getEdges().size()); } - - public void testExtend() { - Graph graph = new Graph(); - graph.addNode(new MyNode("x", new String[] { "a", "b"})); - graph.addNode(new MyNode("y", new String[] { "b", "c"})); - graph.addNode(new MyNode("z", new String[] { "a", "c"})); + + public void testExtend() { + Graph graph = new Graph(); + graph.addNode(new MyNode("x", new String[] { "a", "b" })); + graph.addNode(new MyNode("y", new String[] { "b", "c" })); + graph.addNode(new MyNode("z", new String[] { "a", "c" })); graph.extend(new MyEdgeFactory()); - - List edges = graph.getEdges(); + + List edges = graph.getEdges(); assertEquals(12, edges.size()); // 2 outgoing and 2 incoming nodes. } - - public void testApplyFilter() { - Graph graph = new Graph(); + + 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"))); - + 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() { + + graph.applyFilter(new EdgeFilter() { @Override public boolean isViolated(Edge aEdge) { - if (aEdge.getFrom().getName().equals("x")) { - return false; + if (aEdge.getFrom().getName().equals("x")) { + return false; } - return true; + + return true; } - }); - + }); + assertEquals(1, graph.getEdges().size()); assertEquals("x", graph.getEdges().get(0).getFrom().getName()); - } - - public void testFindIncomingOutgoing() { + + public void testFindIncomingOutgoing() { Graph graph = new Graph(); Node x = new DefaultNode("x"); - Node y = new DefaultNode("y"); + Node y = new DefaultNode("y"); graph.addNode(x); graph.addNode(y); - Edge e = new DefaultEdge(x,y); + + Edge e = new DefaultEdge(x, y); graph.addEdge(e); - + List incoming = graph.findIncoming(x); - assertTrue(incoming.isEmpty()); + assertTrue(incoming.isEmpty()); + List outgoing = graph.findOutgoing(x); assertEquals(1, outgoing.size()); assertSame(e, outgoing.get(0)); - + incoming = graph.findIncoming(y); assertEquals(1, incoming.size()); assertSame(e, incoming.get(0)); - + outgoing = graph.findOutgoing(y); - assertTrue(outgoing.isEmpty()); + assertTrue(outgoing.isEmpty()); } - + public void testAccept() { - Graph graph = new Graph(); - Node x = new DefaultNode("x"); - Node y = new DefaultNode("y"); + Graph graph = new Graph(); + Node x = new DefaultNode("x"); + Node y = new DefaultNode("y"); Edge e = new DefaultEdge(x, y); graph.addNode(x); graph.addNode(y); graph.addEdge(e); - Visitor visitor = EasyMock.createMock(Visitor.class); - visitor.visitNode(x); - visitor.visitNode(y); - visitor.visitEdge(e); - EasyMock.replay(visitor); + + Visitor visitor = mock(Visitor.class); + graph.accept(visitor); - EasyMock.verify(visitor); + verify(visitor).visitNode(x); + verify(visitor).visitNode(y); + verify(visitor).visitEdge(e); + + verifyNoMoreInteractions(visitor); } }