public void CopySgroups() { List <Sgroup> sgroups = new List <Sgroup>(); IAtom a1 = new Mock <IAtom>().Object; IAtom a2 = new Mock <IAtom>().Object; IBond b1 = new Mock <IBond>().Object; IBond b2 = new Mock <IBond>().Object; Sgroup sgroup = new Sgroup { Type = SgroupType.CtabStructureRepeatUnit, Subscript = "n" }; sgroup.Atoms.Add(a1); sgroup.Atoms.Add(a2); sgroup.Bonds.Add(b1); sgroup.Bonds.Add(b2); sgroups.Add(sgroup); var copied = SgroupManipulator.Copy(sgroups, null); Sgroup copiedSgroup = copied[0]; Assert.AreNotSame(sgroup, copiedSgroup); Assert.AreEqual(sgroup.Type, copiedSgroup.Type); Assert.AreEqual(sgroup.Subscript, copiedSgroup.Subscript); Assert.IsTrue(Compares.AreDeepEqual(sgroup.Atoms, copiedSgroup.Atoms)); Assert.IsTrue(Compares.AreDeepEqual(sgroup.Bonds, copiedSgroup.Bonds)); }
public void CopySgroups2() { var sgroups = new List <Sgroup>(); var replace = new CDKObjectMap(); IAtom a1 = new Mock <IAtom>().Object; IAtom a2 = new Mock <IAtom>().Object; IBond b1 = new Mock <IBond>().Object; IBond b2 = new Mock <IBond>().Object; IAtom a1copy = new Mock <IAtom>().Object; IAtom a2copy = new Mock <IAtom>().Object; IBond b1copy = new Mock <IBond>().Object; IBond b2copy = new Mock <IBond>().Object; replace.Add(a1, a1copy); replace.Add(a2, a2copy); replace.Add(b1, b1copy); replace.Add(b2, b2copy); Sgroup sgroup = new Sgroup { Type = SgroupType.CtabStructureRepeatUnit, Subscript = "n" }; sgroup.Atoms.Add(a1); sgroup.Atoms.Add(a2); sgroup.Bonds.Add(b1); sgroup.Bonds.Add(b2); sgroups.Add(sgroup); var copied = SgroupManipulator.Copy(sgroups, replace); Sgroup copiedSgroup = copied[0]; Assert.AreNotSame(sgroup, copiedSgroup); Assert.AreEqual(sgroup.Type, copiedSgroup.Type); Assert.AreEqual(sgroup.Subscript, copiedSgroup.Subscript); Assert.IsFalse(Compares.AreDeepEqual(sgroup.Atoms, copiedSgroup.Atoms)); Assert.IsFalse(Compares.AreDeepEqual(sgroup.Bonds, copiedSgroup.Bonds)); Assert.IsTrue(copiedSgroup.Atoms.Contains(a1copy)); Assert.IsTrue(copiedSgroup.Atoms.Contains(a2copy)); Assert.IsTrue(copiedSgroup.Bonds.Contains(b1copy)); Assert.IsTrue(copiedSgroup.Bonds.Contains(b2copy)); }
public void CopyNull() { Assert.IsNull(SgroupManipulator.Copy(null, null)); }