@Test public void testClone_RingSet() throws Exception { IChemModel model = (IChemModel) newChemObject(); IChemModel clone = (IChemModel) model.clone(); Assert.assertNull(clone.getRingSet()); model.setRingSet(model.getBuilder().newInstance(IRingSet.class)); clone = (IChemModel) model.clone(); Assert.assertNotNull(clone.getRingSet()); Assert.assertNotSame(model.getRingSet(), clone.getRingSet()); }
/** * This badly named methods tries to determine which AtomContainer in the * ChemModel is best suited to contain added Atom's and Bond's. */ public static IAtomContainer getRelevantAtomContainer(IChemModel chemModel, IAtom atom) { IAtomContainer result = null; if (chemModel.getMoleculeSet() != null) { IAtomContainerSet moleculeSet = chemModel.getMoleculeSet(); result = MoleculeSetManipulator.getRelevantAtomContainer(moleculeSet, atom); if (result != null) { return result; } } if (chemModel.getReactionSet() != null) { IReactionSet reactionSet = chemModel.getReactionSet(); return ReactionSetManipulator.getRelevantAtomContainer(reactionSet, atom); } if (chemModel.getCrystal() != null && chemModel.getCrystal().contains(atom)) { return chemModel.getCrystal(); } if (chemModel.getRingSet() != null) { return AtomContainerSetManipulator.getRelevantAtomContainer(chemModel.getRingSet(), atom); } throw new IllegalArgumentException("The provided atom is not part of this IChemModel."); }
@Test public void testSetRingSet_IRingSet() { IChemModel chemModel = (IChemModel) newChemObject(); IRingSet crystal = chemModel.getBuilder().newInstance(IRingSet.class); chemModel.setRingSet(crystal); Assert.assertEquals(crystal, chemModel.getRingSet()); }