示例#1
0
        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);
        }
示例#2
0
        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]);
            }
        }
示例#3
0
        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);
        }
示例#4
0
        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);
        }
示例#5
0
        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);
        }
示例#6
0
        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);
        }