示例#1
0
        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);
        }
示例#2
0
        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]);
        }