@Test
public void testSgroupRepeatUnit() throws Exception {

    try (MDLV2000Reader mdlr = new MDLV2000Reader(getClass().getResourceAsStream("/data/mdl/sgroup-sru.mol"))) {
        IAtomContainer container = mdlr.read(new AtomContainer());
        List<Sgroup> sgroups = container.getProperty(CDKConstants.CTAB_SGROUPS);
        assertNotNull(sgroups);
        assertThat(sgroups.size(), is(1));
        Sgroup sgroup = sgroups.get(0);
        assertThat(sgroup.getType(), is(SgroupType.CtabStructureRepeatUnit));
        assertThat(sgroup.getSubscript(), is("n"));
        assertThat((String) sgroup.getValue(SgroupKey.CtabConnectivity), is("HT"));
        assertThat(sgroup.getAtoms().size(), is(10));
        assertThat(sgroup.getBonds().size(), is(2));
        List<SgroupBracket> brackets = sgroup.getValue(SgroupKey.CtabBracket);
        assertThat(brackets.size(), is(2));
        // M  SDI   1  4    2.2579   -0.8756    1.7735   -1.6600
        assertThat(brackets.get(0).getFirstPoint().x, closeTo(2.2579, 0.001));
        assertThat(brackets.get(0).getFirstPoint().y, closeTo(-0.8756, 0.001));
        assertThat(brackets.get(0).getSecondPoint().x, closeTo(1.7735, 0.001));
        assertThat(brackets.get(0).getSecondPoint().y, closeTo(-1.6600, 0.001));
        // M  SDI   1  4   -0.9910   -1.7247   -0.4960   -0.8673
        assertThat(brackets.get(1).getFirstPoint().x, closeTo(-0.9910, 0.001));
        assertThat(brackets.get(1).getFirstPoint().y, closeTo(-1.7247, 0.001));
        assertThat(brackets.get(1).getSecondPoint().x, closeTo(-0.4960, 0.001));
        assertThat(brackets.get(1).getSecondPoint().y, closeTo(-0.8673, 0.001));
    }
}