Graph { public Configuration configurationOf(int u) { Topology t = topologyOf(u); if (t == Topology.unknown()) return t.configuration(); int[] p = new int[order]; for (int i = 0; i < order; i++) p[i] = i; return t.orderBy(p).configuration(); } 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 configurationOf() throws Exception { Graph g = Graph.fromSmiles("O[C@]12CCCC[C@@]1(O)CCCC2"); Assert.assertThat(g.configurationOf(1), is(Configuration.TH1)); Assert.assertThat(g.configurationOf(6), is(Configuration.TH1)); }