import java.util.Arrays;
import java.util.List;
-import org.easymock.classextension.EasyMock;
+import static org.mockito.Mockito.*;
import org.wamblee.test.AssertionUtils;
+
import junit.framework.TestCase;
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");
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);
}
}