public void DetectsDeltaOnDefaultFlagEnum_WhenClassLacksIgnoreOnDefaultFlag() { var originalCustomer = new TestCustomerWithFlagEnum { SomeFlagEnum = TestFlagEnum.OneThing | TestFlagEnum.SecondThing }; var newCustomer = new { SomeNeedlessStupidProperty = "bad things", SomeFlagEnum = TestFlagEnum.OneThing }; var newCustomerJObj = JObject.FromObject(newCustomer); var deltaGroup = DeltaObjectFromJObjectGenerator.GetDeltaObjects(originalCustomer, newCustomerJObj); Assert.NotNull(deltaGroup); Assert.Equal(GroupValueConversionStatus.NoneFailed, deltaGroup.ValueConversionStatus); Assert.Single(deltaGroup.DeltaObjects); Assert.Empty(deltaGroup.DeltaObjectsValueConversionFail); Assert.Equal(ValueConversionStatus.Success, deltaGroup.DeltaObjects.First(o => o.PropertyName == nameof(TestCustomerWithFlagEnum.SomeFlagEnum)).ValueConversionStatus); Assert.Equal(TestFlagEnum.OneThing, deltaGroup.DeltaObjects.First(o => o.PropertyName == nameof(TestCustomerWithFlagEnum.SomeFlagEnum)).NewValue); }
public void ReturnsFlagEnumDelta_WhenPropertyHasFlagEnumDelta() { var originalCustomer = new TestCustomerWithFlagEnum { SomeFlagEnum = TestFlagEnum.OneThing }; var newCustomer = new TestCustomerWithFlagEnum { SomeFlagEnum = TestFlagEnum.OneThing | TestFlagEnum.SecondThing }; var deltaObjects = DeltaObjectFromObjectGenerator.GetDeltaObjects(originalCustomer, newCustomer); Assert.Single(deltaObjects); }
public void ReturnsFlagEnumDelta_WhenNewFlagPropertyHasFewerFlags() { var originalCustomer = new TestCustomerWithFlagEnum { SomeFlagEnum = TestFlagEnum.OneThing | TestFlagEnum.SecondThing }; var newCustomer = new TestCustomerWithFlagEnum { SomeFlagEnum = TestFlagEnum.OneThing, FirstName = "newName" }; var deltaObjects = DeltaObjectFromObjectGenerator.GetDeltaObjects(originalCustomer, newCustomer); Assert.Equal(2, deltaObjects.Count); Assert.Equal(newCustomer.SomeFlagEnum, deltaObjects.First(o => o.PropertyName == nameof(TestCustomerWithFlagEnum.SomeFlagEnum)).NewValue); Assert.Equal(newCustomer.FirstName, deltaObjects.First(o => o.PropertyName == nameof(TestCustomerWithFlagEnum.FirstName)).NewValue); }