@Test public void aromaticBenzene() throws Exception {

    Graph g = new Graph(6);
    g.addAtom(AtomImpl.AromaticSubset.Carbon);
    g.addAtom(AtomImpl.AromaticSubset.Carbon);
    g.addAtom(AtomImpl.AromaticSubset.Carbon);
    g.addAtom(AtomImpl.AromaticSubset.Carbon);
    g.addAtom(AtomImpl.AromaticSubset.Carbon);
    g.addAtom(AtomImpl.AromaticSubset.Carbon);
    g.addEdge(new Edge(0, 1, IMPLICIT));
    g.addEdge(new Edge(1, 2, IMPLICIT));
    g.addEdge(new Edge(2, 3, IMPLICIT));
    g.addEdge(new Edge(3, 4, IMPLICIT));
    g.addEdge(new Edge(4, 5, IMPLICIT));
    g.addEdge(new Edge(5, 0, IMPLICIT));
    Graph h = new ImplicitToExplicit().apply(g);
    Assert.assertThat(g, CoreMatchers.is(CoreMatchers.not(CoreMatchers
                                                                  .sameInstance(h))));
    for (int u = 0; u < h.order(); u++) {
        for (Edge e : h.edges(u)) {
            Assert.assertThat(e.bond(), CoreMatchers.is(AROMATIC));
        }
    }
}