public void ReturnsDeltaObjectsForNonDefaultValues_WhenClassHasIgnoreOnDefaultAttribute() { var originalCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass { FirstName = "goodName", LastName = "neatName", Age = 432, SomeStuff = TestEnum.SomethingMore, SomeFlagStuff = TestFlagEnum.SecondThing | TestFlagEnum.ThirdThing, DateOfBirth = new DateTime(1919, 10, 10), StartDate = new DateTime(1980, 11, 11) }; var newCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass { FirstName = "badName", Age = 12, SomeStuff = TestEnum.Nothing }; var deltaObjects = DeltaObjectFromObjectGenerator.GetDeltaObjects(originalCustomer, newCustomer); Assert.NotNull(deltaObjects); Assert.Equal(3, deltaObjects.Count); Assert.Equal(newCustomer.FirstName, deltaObjects.First(o => o.PropertyName == nameof(TestCustomerWithIgnoreOnDefaultAttributeOnClass.FirstName)) .NewValue); Assert.Equal(newCustomer.Age, deltaObjects.First(o => o.PropertyName == nameof(TestCustomerWithIgnoreOnDefaultAttributeOnClass.Age)) .NewValue); Assert.Equal(newCustomer.SomeStuff, deltaObjects.First(o => o.PropertyName == nameof(TestCustomerWithIgnoreOnDefaultAttributeOnClass.SomeStuff)) .NewValue); }
public void DetectsDelta_WhenStringEmptyAndIgnoreOnDefault() { var originalCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass { FirstName = "originalFirstName" }; var newCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass { FirstName = string.Empty }; var deltaObjects = DeltaObjectFromObjectGenerator.GetDeltaObjects(originalCustomer, newCustomer); Assert.NotNull(deltaObjects); Assert.Single(deltaObjects); Assert.Equal(string.Empty, deltaObjects[0].NewValue); Assert.Equal(ValueConversionStatus.Success, deltaObjects[0].ValueConversionStatus); }
public void IgnoresDefaultValues_WhenClassHasIgnoreOnDefaultAttribute() { var originalCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass { FirstName = "goodName", LastName = "neatName", Age = 432, SomeStuff = TestEnum.SomethingMore, SomeFlagStuff = TestFlagEnum.SecondThing | TestFlagEnum.ThirdThing, DateOfBirth = new DateTime(1919, 10, 10), StartDate = new DateTime(1980, 11, 11) }; var newCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass(); var deltaObjects = DeltaObjectFromObjectGenerator.GetDeltaObjects(originalCustomer, newCustomer); Assert.NotNull(deltaObjects); Assert.Empty(deltaObjects); }
public void ReturnsZeroDeltaObjects_WhenPropertyDefaultAndIgnoreOnDefault() { var originalCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass { FirstName = "originalFirstName" }; var newCustomer = new { FirstName = default(string) }; var newCustomerJObj = JObject.FromObject(newCustomer); var deltaGroup = DeltaObjectFromJObjectGenerator.GetDeltaObjects(originalCustomer, newCustomerJObj); Assert.NotNull(deltaGroup); Assert.Equal(GroupValueConversionStatus.NoneFailed, deltaGroup.ValueConversionStatus); Assert.Empty(deltaGroup.DeltaObjects); Assert.Empty(deltaGroup.DeltaObjectsValueConversionFail); }
public void IgnoresDefaultFlagEnum_WhenClassHasIgnoreOnDefaultAttribute() { var originalCustomer = new TestCustomerWithIgnoreOnDefaultAttributeOnClass { SomeFlagStuff = TestFlagEnum.OneThing | TestFlagEnum.SecondThing }; var newCustomer = new { SomeNeedlessStupidProperty = "bad things", SomeFlagStuff = TestFlagEnum.OneThing }; var newCustomerJObj = JObject.FromObject(newCustomer); var deltaGroup = DeltaObjectFromJObjectGenerator.GetDeltaObjects(originalCustomer, newCustomerJObj); Assert.NotNull(deltaGroup); Assert.Equal(GroupValueConversionStatus.NoneFailed, deltaGroup.ValueConversionStatus); Assert.Empty(deltaGroup.DeltaObjects); Assert.Empty(deltaGroup.DeltaObjectsValueConversionFail); }