public void SmartlyCloneTest_ShouldReturnClone_IfValueIsPassed() { // Arrange var a = new ValueMock(); a.ValueMember = 1; a.ObjectMember = new object(); // Act var b = (ValueMock)a.SmartlyClone(); // Assert Assert.AreEqual(a.ValueMember, b.ValueMember); Assert.AreSame(a.ObjectMember, b.ObjectMember); }