1
2
3
4
5
6
7
8
9
10 package edu.uci.ics.jung.algorithms.cluster;
11
12 import java.util.Collection;
13 import java.util.Set;
14
15 import junit.framework.Assert;
16 import junit.framework.Test;
17 import junit.framework.TestCase;
18 import junit.framework.TestSuite;
19
20 import com.google.common.base.Supplier;
21
22 import edu.uci.ics.jung.graph.Graph;
23 import edu.uci.ics.jung.graph.SparseMultigraph;
24
25
26
27
28
29 public class TestEdgeBetweennessClusterer extends TestCase {
30 public static Test suite() {
31 return new TestSuite(TestEdgeBetweennessClusterer.class);
32 }
33 Supplier<Graph<Integer,Number>> graphFactory;
34 Supplier<Integer> vertexFactory;
35 Supplier<Number> edgeFactory;
36
37 @Override
38 protected void setUp() {
39 graphFactory = new Supplier<Graph<Integer,Number>>() {
40 public Graph<Integer,Number> get() {
41 return new SparseMultigraph<Integer,Number>();
42 }
43 };
44 vertexFactory = new Supplier<Integer>() {
45 int n = 0;
46 public Integer get() { return n++; }
47 };
48 edgeFactory = new Supplier<Number>() {
49 int n = 0;
50 public Number get() { return n++; }
51 };
52
53 }
54
55 public void testRanker() {
56
57 Graph<Number,Number> graph = new SparseMultigraph<Number,Number>();
58 for(int i=0; i<10; i++) {
59 graph.addVertex(i+1);
60 }
61 int j=0;
62 graph.addEdge(j++,1,2);
63 graph.addEdge(j++,1,3);
64 graph.addEdge(j++,2,3);
65 graph.addEdge(j++,5,6);
66 graph.addEdge(j++,5,7);
67 graph.addEdge(j++,6,7);
68 graph.addEdge(j++,8,10);
69 graph.addEdge(j++,7,8);
70 graph.addEdge(j++,7,10);
71 graph.addEdge(j++,3,4);
72 graph.addEdge(j++,4,6);
73 graph.addEdge(j++,4,8);
74
75 Assert.assertEquals(graph.getVertexCount(),10);
76 Assert.assertEquals(graph.getEdgeCount(),12);
77
78 EdgeBetweennessClusterer<Number, Number> clusterer = new EdgeBetweennessClusterer<Number, Number>(3);
79 Collection<Set<Number>> clusters = clusterer.apply(graph);
80
81 Assert.assertEquals(clusters.size(),3);
82 }
83 }