@Test
public void test114D() throws Exception {

    String filename = "data/pdb/114D.pdb";
    InputStream ins = this.getClass().getClassLoader().getResourceAsStream(filename);
    ISimpleChemObjectReader reader = new PDBReader(ins);
    Assert.assertNotNull(reader);
    IChemFile chemFile = (IChemFile) reader.read(new ChemFile());
    Assert.assertNotNull(chemFile);
    Assert.assertEquals(1, chemFile.getChemSequenceCount());
    org.openscience.cdk.interfaces.IChemSequence seq = chemFile.getChemSequence(0);
    Assert.assertNotNull(seq);
    Assert.assertEquals(1, seq.getChemModelCount());
    IChemModel model = seq.getChemModel(0);
    Assert.assertNotNull(model);
    Assert.assertEquals(1, model.getMoleculeSet().getAtomContainerCount());
    IAtomContainer container = model.getMoleculeSet().getAtomContainer(0);
    Assert.assertTrue(container instanceof IBioPolymer);
    IBioPolymer polymer = (IBioPolymer) container;
    Assert.assertTrue("Strand A is not a PDBStrand", polymer.getStrand("A") instanceof PDBStrand);
    PDBStrand strandA = (PDBStrand) polymer.getStrand("A");
    Iterator<String> lst = strandA.getMonomerNamesInSequentialOrder().iterator();
    String monomer1 = lst.next();
    IMonomer mono1 = strandA.getMonomer(monomer1);
    Assert.assertNotNull(mono1);
    Assert.assertNotNull(mono1.getMonomerName());
    Assert.assertTrue("Monomer is not a PDBMonomer", mono1 instanceof PDBMonomer);
    PDBMonomer pdbMonomer = (PDBMonomer) mono1;
    Assert.assertEquals(pdbMonomer.getResSeq(), "1");
    String monomer2 = lst.next();
    IMonomer mono2 = strandA.getMonomer(monomer2);
    Assert.assertTrue("Monomer is not a PDBMonomer", mono2 instanceof PDBMonomer);
    PDBMonomer pdbMonomer2 = (PDBMonomer) mono2;
    Assert.assertEquals(pdbMonomer2.getResSeq(), "2");
    // chemical validation
    Assert.assertEquals(552, ChemFileManipulator.getAtomCount(chemFile));
    Assert.assertEquals(2, polymer.getStrandCount());
    Assert.assertEquals(24, polymer.getMonomerCount());
    Assert.assertTrue(polymer.getStrandNames().contains("A"));
    Assert.assertTrue(polymer.getStrandNames().contains("B"));
    Assert.assertFalse(polymer.getStrandNames().contains("C"));
    Assert.assertEquals(24, polymer.getMonomerCount());
    Assert.assertTrue(polymer instanceof PDBPolymer);
    PDBPolymer pdb = (PDBPolymer) polymer;
    // PDB validation
    Assert.assertEquals(0, pdb.getStructures().size());
}