Ejemplo n.º 1
0
        public void NullPropertyInfoNotAllowed()
        {
            var actual = Record.Exception(() => PocoValueFactory.FromEntityValue(null, new Value(), pocoFactory));

            Assert.IsType <ArgumentNullException>(actual);
            Assert.Equal($"Cannot extract the proper data from the Value without having the property{Environment.NewLine}Parameter name: prop", actual.Message);
        }
Ejemplo n.º 2
0
        public void NullValueNotAllowed()
        {
            var actual = Record.Exception(() => PocoValueFactory.FromEntityValue(poco.GetType().GetProperty("True"), null, pocoFactory));

            Assert.IsType <ArgumentNullException>(actual);
            Assert.Equal($"Cannot extract data from a null Value{Environment.NewLine}Parameter name: value", actual.Message);
        }
Ejemplo n.º 3
0
        public void ThrowOnUnsupportedTypes(string propertyName, System.Type type)
        {
            var actual = Record.Exception(() => PocoValueFactory.FromEntityValue(poco.GetType().GetProperty(propertyName), new Value(), pocoFactory));

            Assert.IsType <NotSupportedException>(actual);
            Assert.Equal($"The type {type.Name} is not supported", actual.Message);
        }
Ejemplo n.º 4
0
        public void BoolNullable_noValue()
        {
            var prop  = poco.GetType().GetProperty("BoolNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.Null(actual);
        }
Ejemplo n.º 5
0
        public void Double()
        {
            var prop  = poco.GetType().GetProperty("Double");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <double>(actual);
            Assert.Equal(1.2, actual);
        }
Ejemplo n.º 6
0
        public void Enum()
        {
            var prop  = poco.GetType().GetProperty("Enum");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <DasPocoEnum>(actual);
            Assert.Equal(DasPocoEnum.Two, actual);
        }
Ejemplo n.º 7
0
        public void Char()
        {
            var prop  = poco.GetType().GetProperty("Char");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <char>(actual);
            Assert.Equal('c', actual);
        }
Ejemplo n.º 8
0
        public void Long()
        {
            var prop  = poco.GetType().GetProperty("Long");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <long>(actual);
            Assert.Equal((long)-5, actual);
        }
Ejemplo n.º 9
0
        public void Binary()
        {
            var prop  = poco.GetType().GetProperty("Binary");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <byte[]>(actual);
            Assert.Equal(poco.Binary, actual);
        }
Ejemplo n.º 10
0
        public void BoolFalse()
        {
            var prop  = poco.GetType().GetProperty("False");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <bool>(actual);
            Assert.Equal(false, actual);
        }
Ejemplo n.º 11
0
        public void Decimal()
        {
            var prop  = poco.GetType().GetProperty("Decimal");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var actualDec = Assert.IsType <decimal>(actual);

            Assert.Equal(12345.0123456789012345m, actualDec, 15);
        }
Ejemplo n.º 12
0
        public void EnumNullable_hasValue()
        {
            poco.EnumNullable = DasPocoEnum.One;
            var prop  = poco.GetType().GetProperty("EnumNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <DasPocoEnum>(actual);

            Assert.Equal(DasPocoEnum.One, typedActual);
        }
Ejemplo n.º 13
0
        public void TimeSpanNullable_hasValue()
        {
            poco.TimeSpanNullable = TimeSpan.FromHours(789.123);
            var prop  = poco.GetType().GetProperty("TimeSpanNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <TimeSpan>(actual);

            Assert.Equal(poco.TimeSpanNullable, typedActual);
        }
Ejemplo n.º 14
0
        public void CharNullable_hasValue()
        {
            poco.CharNullable = 'x';
            var prop  = poco.GetType().GetProperty("CharNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <char>(actual);

            Assert.Equal('x', typedActual);
        }
Ejemplo n.º 15
0
        public void DateTimeOffsetNullable_hasValue()
        {
            poco.DateTimeOffsetNullable = DateTimeOffset.UtcNow;
            var prop  = poco.GetType().GetProperty("DateTimeOffsetNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <DateTimeOffset>(actual);

            Assert.Equal(poco.DateTimeOffsetNullable, typedActual);
        }
Ejemplo n.º 16
0
        public void TimeSpanX()
        {
            poco.TimeSpan = TimeSpan.FromDays(1.34567);

            var prop  = poco.GetType().GetProperty("TimeSpan");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <TimeSpan>(actual);
            Assert.Equal(poco.TimeSpan, actual);
        }
Ejemplo n.º 17
0
        public void DateTimeX()
        {
            poco.DateTime = DateTime.UtcNow;

            var prop  = poco.GetType().GetProperty("DateTime");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <DateTime>(actual);
            Assert.Equal(poco.DateTime, actual);
        }
Ejemplo n.º 18
0
        public void ShortNullable_hasValue()
        {
            poco.ShortNullable = -5;
            var prop  = poco.GetType().GetProperty("ShortNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <short>(actual);

            Assert.Equal(-5, typedActual);
        }
Ejemplo n.º 19
0
        public void LongNullable_hasValue()
        {
            poco.LongNullable = 789456123;
            var prop  = poco.GetType().GetProperty("LongNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <long>(actual);

            Assert.Equal(789456123, typedActual);
        }
Ejemplo n.º 20
0
        public void FloatNullable_hasValue()
        {
            poco.FloatNullable = 1.2f;
            var prop  = poco.GetType().GetProperty("FloatNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <float>(actual);

            Assert.Equal(1.2f, typedActual);
        }
Ejemplo n.º 21
0
        public void DecimalNullable_hasValue()
        {
            poco.DecimalNullable = 12345.0123456789012345m;
            var prop  = poco.GetType().GetProperty("DecimalNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <decimal>(actual);

            Assert.Equal(12345.0123456789012345m, typedActual);
        }
Ejemplo n.º 22
0
        public void BoolNullable_hasValue()
        {
            poco.BoolNullable = true;
            var prop  = poco.GetType().GetProperty("BoolNullable");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typedActual = Assert.IsType <bool>(actual);

            Assert.Equal(true, typedActual);
        }
Ejemplo n.º 23
0
        private void SetValues(object poco, Entity entity)
        {
            reflector
            .GetContentProperties(poco)
            .ForEach(prop =>
            {
                var name  = reflector.GetValueName(prop);
                var value = entity[name];

                prop.SetValue(poco, PocoValueFactory.FromEntityValue(prop, value, this));
            });
        }
Ejemplo n.º 24
0
        public void ListString()
        {
            var prop  = poco.GetType().GetProperty("ListString");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <List <string> >(actual);
            var list = (List <string>)actual;

            Assert.Equal(3, list.Count);
            Assert.Equal("one", list[0]);
            Assert.Equal("two", list[1]);
            Assert.Equal("three", list[2]);
        }
Ejemplo n.º 25
0
        public void ArrayInt()
        {
            var prop  = poco.GetType().GetProperty("ArrayInt");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <int[]>(actual);
            var list = (int[])actual;

            Assert.Equal(3, list.Length);
            Assert.Equal(1, list[0]);
            Assert.Equal(2, list[1]);
            Assert.Equal(3, list[2]);
        }
Ejemplo n.º 26
0
        public void Complex()
        {
            var sub = new Sub();

            poco.Complex = sub;

            A.CallTo(() => pocoFactory.FromEmbeddedEntity(typeof(Sub), A <Entity> ._)).Returns(sub);

            var prop  = poco.GetType().GetProperty("Complex");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            Assert.IsType <Sub>(actual);
            Assert.Same(sub, actual);
        }
Ejemplo n.º 27
0
        public void CustomCollection()
        {
            var simple = new Simple {
                Hello = "neo"
            };
            var collection = new MyCollection
            {
                simple
            };

            poco.MyCollection = collection;

            A.CallTo(() => pocoFactory.FromEmbeddedEntity(typeof(Simple), A <Entity> ._)).Returns(simple);

            var prop  = poco.GetType().GetProperty("MyCollection");
            var value = EntityValueFactory.FromPropertyInfo(poco, prop, entityFactory, new List <string>());

            var actual = PocoValueFactory.FromEntityValue(prop, value, pocoFactory);

            var typed = Assert.IsType <MyCollection>(actual);

            Assert.Equal(1, typed.Count);
            Assert.Equal("neo", typed[0].Hello);
        }