Graph { int addAtom(Atom a) { ensureCapacity(); atoms[order++] = a; return order - 1; } Graph(int expSize);   Graph(Graph org); Atom atom(int i); int degree(int u); List<Edge> edges(int u); int[] neighbors(int u); boolean adjacent(int u, int v); int implHCount(int u); Edge edge(int u, int v); Edge edgeAt(int u, int j); Topology topologyOf(int u); Configuration configurationOf(int u); int order(); int size(); static Graph fromSmiles(String smi); static Graph parse(String smi, boolean strict, Set<String> warnings); String toSmiles(); String toSmiles(int[] visitedAt); Graph aromatic(); Graph resonate(); Graph kekule(); boolean assignable(); Graph permute(int[] p); Iterable<Atom> atoms(); Iterable<Edge> edges(); int getFlags(final int mask); int getFlags(); void setTitle(String title); String getTitle(); Graph sort(EdgeComparator comparator); static final int HAS_AROM; static final int HAS_ATM_STRO; static final int HAS_EXT_STRO; static final int HAS_BND_STRO; static final int HAS_STRO; }
@Test public void addAtoms() { Graph g = new Graph(5); assertThat(g.addAtom(mock(Atom.class)), is(0)); assertThat(g.addAtom(mock(Atom.class)), is(1)); assertThat(g.addAtom(mock(Atom.class)), is(2)); assertThat(g.addAtom(mock(Atom.class)), is(3)); assertThat(g.addAtom(mock(Atom.class)), is(4)); }
@Test public void addAtomsResize() { Graph g = new Graph(2); assertThat(g.addAtom(mock(Atom.class)), is(0)); assertThat(g.addAtom(mock(Atom.class)), is(1)); assertThat(g.addAtom(mock(Atom.class)), is(2)); assertThat(g.addAtom(mock(Atom.class)), is(3)); assertThat(g.addAtom(mock(Atom.class)), is(4)); }