@Test
public void testRetainAll() {

    EdgeStore edgeStore = new EdgeStore();
    EdgeImpl[] edges = GraphGenerator.generateEdgeList(3);
    edgeStore.addAll(Arrays.asList(edges));
    EdgeImpl[] r = new EdgeImpl[] { edges[0] };
    boolean a = edgeStore.retainAll(Arrays.asList(r));
    boolean b = edgeStore.retainAll(Arrays.asList(r));
    Assert.assertTrue(a);
    Assert.assertFalse(b);
    Assert.assertEquals(edgeStore.size(), 1);
    Assert.assertTrue(edgeStore.contains(edges[0]));
    edgeStore.retainAll(new ArrayList());
    Assert.assertTrue(edgeStore.isEmpty());
}