import org.junit.Test;
import java.util.Arrays;
import java.util.List;
import static org.junit.Assert.*;
public class TeamPhotoDayTest {
private int expected;
private List<GraphVertex> G;
@Test
public void findLargestNumberTeams1() throws Exception {
expected = 0;
GraphVertex a = new GraphVertex(5);
GraphVertex b = new GraphVertex(5);
GraphVertex c = new GraphVertex(5);
a.edges.add(b);
b.edges.add(c);
GraphVertex d = new GraphVertex(5);
GraphVertex e = new GraphVertex(5);
GraphVertex f = new GraphVertex(5);
d.edges.add(e);
e.edges.add(f);
G = Arrays.asList(
a,
d
);
test(expected, G);
}
@Test
public void findLargestNumberTeams2() throws Exception {
expected = 1;
GraphVertex a = new GraphVertex(5);
GraphVertex b = new GraphVertex(7);
GraphVertex c = new GraphVertex(4);
a.edges.add(b);
b.edges.add(c);
GraphVertex d = new GraphVertex(4);
GraphVertex e = new GraphVertex(5);
GraphVertex f = new GraphVertex(3);
d.edges.add(e);
e.edges.add(f);
G = Arrays.asList(
a,
d
);
test(expected, G);
}
@Test
public void findLargestNumberTeams3() throws Exception {
expected = 2;
GraphVertex a = new GraphVertex(5);
GraphVertex b = new GraphVertex(7);
GraphVertex c = new GraphVertex(4);
a.edges.add(b);
b.edges.add(c);
GraphVertex d = new GraphVertex(4);
GraphVertex e = new GraphVertex(5);
GraphVertex f = new GraphVertex(3);
d.edges.add(e);
e.edges.add(f);
GraphVertex g = new GraphVertex(2);
GraphVertex h = new GraphVertex(3);
GraphVertex i = new GraphVertex(4);
g.edges.add(h);
h.edges.add(i);
G = Arrays.asList(
a,
d,
g
);
test(expected, G);
}
private void test(int expected, List<GraphVertex> G) {
assertEquals(expected, TeamPhotoDay.findLargestNumberTeams(G));
}
}