public void Clone_Should_Create_a_Copy() { var name = "name"; string[] channels = { "channel1", "channel2" }; var e = new DefaultEntity(name, channels); e.AddComponent(new StringComponent()).AddComponent(new XYComponent()); var clone = e.Clone(); Assert.NotSame(clone, e); Assert.NotSame(e.GetComponent <StringComponent>(), clone.GetComponent <StringComponent>()); Assert.NotSame(e.GetComponent <XYComponent>(), clone.GetComponent <XYComponent>()); Assert.NotSame(e.Channels, clone.Channels); }