public void CopyLiteObjectValues_Should_ReturnPropertiesFromDerivedAndBasedType() { var testObject = new ExtendedDefaultsObject { Name = "SomeName", Count = 30, Title = "SomeTitle", Indexed = false }; var parentObject = new ExtendedDefaultsObject(); var exception = Record.Exception(() => { var service = new LiteObjectService(); dynamic liteObject = service.GetLiteObject(testObject, false); parentObject = service.CopyLiteObjectValues(parentObject, liteObject, false); }); // check correct properties Assert.Null(exception); Assert.NotNull(parentObject); Assert.Equal(testObject.Name, parentObject.Name); Assert.Equal(testObject.Count, parentObject.Count); Assert.Equal(testObject.Title, parentObject.Title); Assert.Equal(testObject.Indexed, parentObject.Indexed); Assert.Equal(testObject.Id, parentObject.Id); Assert.Equal(testObject.LastDateTime, parentObject.LastDateTime); }
public void GetLiteObjectType_Should_ReturnPropertiesFromDerivedAndBasedType() { Type liteObjectType = null; var propertyNames = new[] { "Name", "Count", "Title", "Indexed", "LastDateTime" }; var propertyTypes = new[] { typeof(string), typeof(int), typeof(string), typeof(bool), typeof(DateTime) }; var exception = Record.Exception(() => { var testObject = new ExtendedDefaultsObject(); liteObjectType = (new LiteObjectService()).GetLiteObjectType(testObject, false); }); // check correct properties Assert.Null(exception); Assert.NotNull(liteObjectType); var propertyInfos = TypeDescriptor.GetProperties(liteObjectType); Assert.Equal(propertyInfos.Count, propertyNames.Length); for (var pos = 0; pos < propertyNames.Length; pos++) { var property = propertyInfos[propertyNames[pos]]; Assert.NotNull(property); Assert.Equal(property.PropertyType, propertyTypes[pos]); } }
public void LiteObjectBase_ShouldAssign_OverridedDefaultValues() { ExtendedDefaultsObject testObject = null; var exception = Record.Exception(() => testObject = new ExtendedDefaultsObject()); exception.Should().BeNull(); testObject.Should().NotBeNull(); testObject.Name.Should().Be("Default"); testObject.Title.Should().Be("ExtendedDefaultTitle"); testObject.Count.Should().Be(100); }
public void CopyLiteObjectValues_Should_ReturnNullOnWrongParentObject() { var testObject = new ExtendedDefaultsObject { Name = "SomeName", Count = 30, Title = "SomeTitle" }; object parentObject = new DefaultsObject(); var exception = Record.Exception(() => { var service = new LiteObjectService(); var liteObject = service.GetLiteObject(testObject); parentObject = service.CopyLiteObjectValues(parentObject, liteObject); }); // check correct properties Assert.Null(exception); Assert.Null(parentObject); }
public void CopyLiteObjectValues_Should_ReturnNullOnDifferentTopValue(bool top1, bool top2) { var testObject = new ExtendedDefaultsObject { Name = "SomeName", Count = 30, Title = "SomeTitle", Indexed = false }; var parentObject = new ExtendedDefaultsObject(); var exception = Record.Exception(() => { var service = new LiteObjectService(); dynamic liteObject = service.GetLiteObject(testObject, top1); parentObject = service.CopyLiteObjectValues(parentObject, liteObject, top2); }); // check correct properties Assert.Null(exception); Assert.Null(parentObject); }
public void GetLiteObject_Should_ReturnPropertiesFromDerivedAndBasedType() { var testObject = new ExtendedDefaultsObject { Name = "SomeName", Count = 30, Title = "SomeTitle", Indexed = false }; dynamic liteObject = null; var exception = Record.Exception(() => { liteObject = (new LiteObjectService()).GetLiteObject(testObject, true); }); // check correct properties Assert.Null(exception); Assert.NotNull(liteObject); Assert.Equal(testObject.Name, liteObject.Name); Assert.Equal(testObject.Count, liteObject.Count); Assert.Equal(testObject.LastDateTime, liteObject.LastDateTime); }