View Javadoc
1   package edu.uci.ics.jung.algorithms.filters.impl;
2   
3   /**
4    * @author Tom Nelson
5    */
6   
7   import junit.framework.Test;
8   import junit.framework.TestCase;
9   import junit.framework.TestSuite;
10  import edu.uci.ics.jung.algorithms.filters.Filter;
11  import edu.uci.ics.jung.algorithms.filters.KNeighborhoodFilter;
12  import edu.uci.ics.jung.algorithms.filters.KNeighborhoodFilter.EdgeType;
13  import edu.uci.ics.jung.graph.DirectedGraph;
14  import edu.uci.ics.jung.graph.DirectedSparseMultigraph;
15  import edu.uci.ics.jung.graph.Graph;
16  
17  
18  public class TestKNeighborhoodFilter extends TestCase {
19  	
20  	DirectedGraph<Number,Number> graph;
21  	
22  	public static Test suite() {
23  		return new TestSuite(TestKNeighborhoodFilter.class);
24  	}
25  
26  	@Override
27  	protected void setUp() {
28  		graph = new DirectedSparseMultigraph<Number,Number>();
29  		for(int i=0; i<7; i++) {
30  			graph.addVertex(i);
31  		}
32  		int j=0;
33  		graph.addEdge(j++, 0, 1);
34  		graph.addEdge(j++, 0, 2);
35  		graph.addEdge(j++, 2, 3);
36  		graph.addEdge(j++, 2, 4);
37  		graph.addEdge(j++, 3, 5);
38  		graph.addEdge(j++, 5, 6);
39  		graph.addEdge(j++, 5, 0);
40  		graph.addEdge(j++, 3, 0);
41  		graph.addEdge(j++, 6, 7);
42  	}
43  
44  	public void testIn() {
45  		Filter<Number,Number> filter = new KNeighborhoodFilter<Number,Number>(0, 2, EdgeType.IN);
46  		Graph<Number,Number> result = filter.apply(graph);
47  		assertEquals(result.getVertexCount(), 4);
48  		assertEquals(result.getEdgeCount(), 5);
49  	}
50  	public void testOut() {
51  		Filter<Number,Number> filter = new KNeighborhoodFilter<Number,Number>(0, 2, EdgeType.OUT);
52  		Graph<Number,Number> result = filter.apply(graph);
53  		assertEquals(result.getVertexCount(), 5);
54  		assertEquals(result.getEdgeCount(), 5);
55  	}
56  	public void testInOut() {
57  		Filter<Number,Number> filter = new KNeighborhoodFilter<Number,Number>(0, 2, EdgeType.IN_OUT);
58  		Graph<Number,Number> result = filter.apply(graph);
59  		assertEquals(result.getVertexCount(), 7);
60  		assertEquals(result.getEdgeCount(), 8);
61  	}
62  }