public void CloneTest() { TypeParameter typeParameter = new TypeParameter(); typeParameter.Name = "T"; typeParameter.AddConstraint("IDisposable"); typeParameter.AddConstraint("new()"); TypeParameter clone = typeParameter.Clone() as TypeParameter; Assert.IsNotNull(clone, "Clone should return a TypeParameter instance."); Assert.AreEqual(typeParameter.Name, clone.Name, "Name property was not copied correctly."); Assert.AreEqual(typeParameter.Constraints.Count, clone.Constraints.Count, "Constraints property was not copied correctly."); Assert.AreEqual(typeParameter.Constraints[0], clone.Constraints[0], "Constraints property was not copied correctly."); Assert.AreEqual(typeParameter.Constraints[1], clone.Constraints[1], "Constraints property was not copied correctly."); }