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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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); }
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)); }); }
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]); }
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]); }
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); }
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); }