public void Can_add_copied_class_to_root() { string csharpCode = @" [Foo(""Fred"", bar:3, bar2:""George"")] public class Bar{} "; RDomRoot rDomRoot = RDom.CSharp.Load(csharpCode) as RDomRoot; IClass class1 = rDomRoot.RootClasses.First(); IAttribute attribute = class1.Attributes.Attributes.First(); IClass class2 = class1.Copy(); rDomRoot.StemMembersAll.AddOrMove(class2); IClass[] classes = rDomRoot.Classes.ToArray(); Assert.AreEqual(2, classes.Count()); Assert.IsFalse(classes[0] == classes[1]); // reference equality fails Assert.IsTrue(classes[0].SameIntent(classes[1])); }