public override ICDKObject Clone(CDKObjectMap map) { ChemModel clone = (ChemModel)base.Clone(map); clone.setOfMolecules = (IChemObjectSet <IAtomContainer>)setOfMolecules?.Clone(map); clone.setOfReactions = (IReactionSet)setOfReactions?.Clone(map); clone.ringSet = (IRingSet)ringSet?.Clone(map); clone.crystal = (ICrystal)crystal?.Clone(map); return(clone); }
public override void TestClone() { IRingSet ringset = (IRingSet)NewChemObject(); IRing ring = ringset.Builder.NewRing(); ringset.Add(ring); IRingSet clone = (IRingSet)ringset.Clone(); Assert.IsNotNull(clone); Assert.IsTrue(clone is IRingSet); Assert.AreEqual(1, clone.Count); Assert.AreNotSame(ring, clone[0]); }