@Test public void upBond() throws Exception { String input = " 1 3 1 1 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.UP)); }
@Test public void cisOrTrans() throws Exception { String input = " 1 3 2 3 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getOrder(), is(IBond.Order.DOUBLE)); assertThat(bond.getStereo(), is(IBond.Stereo.E_OR_Z)); }
@Test public void atomNumbers() throws Exception { String input = " 1 3 1 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getBegin(), is(atoms[0])); assertThat(bond.getEnd(), is(atoms[2])); }
@Test public void upOrDownBond() throws Exception { String input = " 1 3 1 4 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.UP_OR_DOWN)); }
@Test public void cisOrTransByCoordinates() throws Exception { String input = " 1 3 2 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getOrder(), is(IBond.Order.DOUBLE)); assertThat(bond.getStereo(), is(IBond.Stereo.E_Z_BY_COORDINATES)); }
@Test(expected = CDKException.class) public void upDoubleBond() throws Exception { String input = " 1 3 2 1 0 0 0"; reader.setReaderMode(IChemObjectReader.Mode.STRICT); reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); }
@Test(expected = CDKException.class) public void cisOrTransSingleBond() throws Exception { String input = " 1 3 1 3 0 0 0"; reader.setReaderMode(IChemObjectReader.Mode.STRICT); reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); }
@Test(expected = CDKException.class) public void downDoubleBond() throws Exception { String input = " 1 3 2 1 0 0 0"; reader.setReaderMode(IChemObjectReader.Mode.STRICT); reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); }
@Test(expected = CDKException.class) public void upOrDownDoubleBond() throws Exception { String input = " 1 3 2 4 0 0 0"; reader.setReaderMode(IChemObjectReader.Mode.STRICT); reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); }
@Test public void shortLineWithPadding() throws Exception { String input = " 1 3 1 0 "; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getBegin(), is(atoms[0])); assertThat(bond.getEnd(), is(atoms[2])); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }
@Test public void singleOrDoubleBond() throws Exception { String input = " 1 3 5 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); assertThat(bond, is(instanceOf(QueryBond.class))); assertThat(((QueryBond) bond).getExpression().type(), is(Expr.Type.SINGLE_OR_DOUBLE)); }
@Test public void doubleOrAromaticBond() throws Exception { String input = " 1 3 7 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); assertThat(bond, is(instanceOf(QueryBond.class))); assertThat(((QueryBond) bond).getExpression().type(), is(Expr.Type.DOUBLE_OR_AROMATIC)); }
@Test public void anyBond() throws Exception { String input = " 1 3 8 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); assertThat(bond, is(instanceOf(QueryBond.class))); assertThat(((QueryBond) bond).getExpression().type(), is(Expr.Type.TRUE)); }
@Test public void shortLineNoStereo() throws Exception { String input = " 1 3 1"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getBegin(), is(atoms[0])); assertThat(bond.getEnd(), is(atoms[2])); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); } }
@Test public void longLine() throws Exception { String input = " 1 3 1 0 0 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getBegin(), is(atoms[0])); assertThat(bond.getEnd(), is(atoms[2])); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }
@Test public void longLineWithPadding() throws Exception { String input = " 1 3 1 0 0 0 0 "; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getBegin(), is(atoms[0])); assertThat(bond.getEnd(), is(atoms[2])); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }
@Test public void tripleBond() throws Exception { String input = " 1 3 3 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getOrder(), is(IBond.Order.TRIPLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }
@Test public void singleBond() throws Exception { String input = " 1 3 1 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getOrder(), is(IBond.Order.SINGLE)); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }
@Test public void doubleBond() throws Exception { String input = " 1 3 2 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getOrder(), is(IBond.Order.DOUBLE)); assertThat(bond.getStereo(), is(IBond.Stereo.E_Z_BY_COORDINATES)); assertFalse(bond.getFlag(CDKConstants.ISAROMATIC)); assertFalse(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }
@Test public void aromaticBond() throws Exception { String input = " 1 3 4 0 0 0 0"; IBond bond = reader.readBondFast(input, builder, atoms, new int[atoms.length], 1); assertThat(bond.getStereo(), is(IBond.Stereo.NONE)); assertTrue(bond.getFlag(CDKConstants.ISAROMATIC)); assertTrue(bond.getFlag(CDKConstants.SINGLE_OR_DOUBLE)); }