public void Should_GenerateNewId_When_Cloning() { var item = new WidgetMock { Id = Guid.NewGuid(), Name = Guid.NewGuid().ToString(), }; var copy = (Item)item.Clone(); Assert.AreNotEqual(item.Id, copy.Id); }
public void Should_CreateNewObjects_When_Cloning() { var item = new WidgetMock { Id = Guid.NewGuid(), Name = Guid.NewGuid().ToString(), }; var copy = (Item)item.Clone(); Assert.AreNotSame(copy, item); Assert.AreNotSame(copy.Items, item.Items); Assert.AreEqual(item.Name, copy.Name); Assert.IsNull(copy.Parent); }
public void Should_IncludeChildren_When_Cloning() { var item = new WidgetMock { Id = Guid.NewGuid(), Name = Guid.NewGuid().ToString(), }; item.Items.Add(new WidgetMock()); var copy = (Item)item.Clone(); Assert.IsNotNull(copy.Items); Assert.AreNotSame(copy.Items, item.Items); Assert.IsTrue(copy.Items.Count == 1); Assert.AreNotSame(copy.Items.First(), item.Items.First()); }