public void CopyUnchangedValues_ThrowsArgumentNull_original() { // Arrange & Act Delta <Base> delta = new Delta <Base>(); ExceptionAssert.ThrowsArgumentNull(() => delta.CopyUnchangedValues(null), "original"); }
public void CopyUnchangedValues_UnRelatedType_Throws_Argument() { // Arrange Delta <Base> delta = new Delta <Base>(typeof(Derived)); AnotherDerived unrelatedEntity = new AnotherDerived(); // Act & Assert ExceptionAssert.ThrowsArgument( () => delta.CopyUnchangedValues(unrelatedEntity), "original", "Cannot use Delta of type 'Microsoft.AspNet.OData.Test.DeltaTest+Derived' on an entity of type 'Microsoft.AspNet.OData.Test.DeltaTest+AnotherDerived'."); }
public void CanCopyUnchangedValues() { AddressEntity original = new AddressEntity { ID = 1, City = "Redmond", State = "WA", StreetAddress = "21110 NE 44th St", ZipCode = 98074 }; dynamic delta = new Delta <AddressEntity>(); delta.City = "Sammamish"; delta.StreetAddress = "23213 NE 15th Ct"; Delta <AddressEntity> idelta = delta as Delta <AddressEntity>; idelta.CopyUnchangedValues(original); // unchanged values have been reset to defaults Assert.Equal(0, original.ID); Assert.Equal(0, original.ZipCode); Assert.Null(original.State); // changed values have been left unmodified Assert.Equal("Redmond", original.City); Assert.Equal("21110 NE 44th St", original.StreetAddress); }