示例#1
0
        public void MapGetInt()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.IntProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetIntFromReader("IntProperty", 32);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(32, item.IntProperty);
        }
示例#2
0
        public void MapGetByte()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.ByteProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetByteFromReader("ByteProperty", (byte)8);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(8, item.ByteProperty);
        }
示例#3
0
        public void MapGetShort()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.ShortProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetShortFromReader("ShortProperty", (short)16);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(16, item.ShortProperty);
        }
示例#4
0
        public void SetNullableIntParameter()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableIntProperty);
            var parameterName = "@NullableIntProperty";
            var command = CreateCommandWithParameter("MySproc", CommandType.StoredProcedure, parameterName);
            var map = mapDefinition.CreateMap();

            // Act
            var item = new TestModel();
            item.NullableIntProperty = 32;
            map.LoadParameters(command, item);

            // Assert
            Assert.Equal(32, command.Parameters[parameterName].Value);
        }
示例#5
0
        public void MapGetNullableFloat()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableFloatProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetFloatFromReader("NullableFloatProperty", (float)3.141);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.NotNull(item.NullableFloatProperty);
            Assert.Equal((float)3.141, item.NullableFloatProperty.Value);
        }
示例#6
0
        public void AddDateTimeOffsetParameter()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>(false);
            mapDefinition.Map(model => model.DateTimeOffsetProperty);
            var parameterName = "@DateTimeOffsetProperty";
            var command = new SqlCommand();
            var map = mapDefinition.CreateMap();
            var now = DateTime.Today;

            // Act
            var item = new TestModel();
            item.DateTimeOffsetProperty = now;
            map.LoadParameters(command, item);

            // Assert
            var parameter = (DateTimeOffset)command.Parameters[parameterName].Value;
            Assert.Equal(now.Month, parameter.Month);
            Assert.Equal(now.Day, parameter.Day);
            Assert.Equal(now.Year, parameter.Year);
        }
示例#7
0
        public void MapGetShortWithDefaultToNullableField()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableShortProperty, true, short.MinValue);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetShortFromReader("NullableShortProperty", (short)16);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.NotNull(item.NullableShortProperty);
            Assert.Equal(16, item.NullableShortProperty.Value);
        }
示例#8
0
        public void MapGetDoubleWithDefaultNull()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.DoubleProperty, true, 6.022140857);
            var map = mapDefinition.CreateMap();
            var reader = GetDataRecordWithNullColumn("DoubleProperty");

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(6.022140857, item.DoubleProperty);
        }
示例#9
0
        public void MapGetStringWithDefaultNull()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.StringProperty, true, "default");
            var map = mapDefinition.CreateMap();
            var reader = GetDataRecordWithNullColumn("StringProperty");

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal("default", item.StringProperty);
        }
示例#10
0
        public void MapGetFloatWithDefault()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.FloatProperty, true, (float)1.71);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetFloatFromReader("FloatProperty", (float)3.141);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal((float)3.141, item.FloatProperty);
        }
示例#11
0
        public void MapGetChar()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.CharProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetCharFromReader("CharProperty", 'c');

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal('c', item.CharProperty);
        }
示例#12
0
        public void MapGetBoolWithDefault()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.BoolProperty, true, false);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetBoolFromReader("BoolProperty", true);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(true, item.BoolProperty);
        }
示例#13
0
        public void AddNullableFloatParameterWithNull()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>(false);
            mapDefinition.Map(model => model.NullableFloatProperty);
            var parameterName = "@NullableFloatProperty";
            var command = new SqlCommand();
            var map = mapDefinition.CreateMap();

            // Act
            var item = new TestModel();
            item.NullableFloatProperty = null;
            map.LoadParameters(command, item);

            // Assert
            Assert.Equal(DBNull.Value, command.Parameters[parameterName].Value);
        }
示例#14
0
        public void AddDateTimeParameter()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>(false);
            mapDefinition.Map(model => model.DateTimeProperty);
            var parameterName = "@DateTimeProperty";
            var command = new SqlCommand();
            var map = mapDefinition.CreateMap();

            // Act
            var item = new TestModel();
            item.DateTimeProperty = DateTime.Today;
            map.LoadParameters(command, item);

            // Assert
            Assert.Equal(DateTime.Today, command.Parameters[parameterName].Value);
        }
示例#15
0
        public void MapGetNullableDouble()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableDoubleProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetDoubleFromReader("NullableDoubleProperty", 6.022140857);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.NotNull(item.NullableDoubleProperty);
            Assert.Equal(6.022140857, item.NullableDoubleProperty.Value);
        }
示例#16
0
        public void MapGetNullableGuid()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableGuidProperty);
            var map = mapDefinition.CreateMap();
            var guid = Guid.NewGuid();
            var reader = SetupGetGuidFromReader("NullableGuidProperty", guid);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.NotNull(item.NullableGuidProperty);
            Assert.Equal(guid, item.NullableGuidProperty.Value);
        }
示例#17
0
        public void MapGetDoubleWithDefault()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.DoubleProperty, true, 12.00001234);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetDoubleFromReader("DoubleProperty", 6.022140857);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(6.022140857, item.DoubleProperty);
        }
示例#18
0
        public void MapGetNullableGuidWithNull()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableGuidProperty);
            var map = mapDefinition.CreateMap();
            var reader = GetDataRecordWithNullColumn("NullableGuidProperty");

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Null(item.NullableGuidProperty);
        }
示例#19
0
        public void MapGetDateTime()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.DateTimeProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetDateTimeFromReader("DateTimeProperty", DateTime.Today);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(DateTime.Today, item.DateTimeProperty);
        }
示例#20
0
        public void MapGetIntWithDefaultNull()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.IntProperty, true, int.MaxValue);
            var map = mapDefinition.CreateMap();
            var reader = GetDataRecordWithNullColumn("IntProperty");

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(int.MaxValue, item.IntProperty);
        }
示例#21
0
        public void MapGetDecimal()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.DecimalProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetDecimalFromReader("DecimalProperty", (decimal)3.141529);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal((decimal)3.141529, item.DecimalProperty);
        }
示例#22
0
        public void MapGetFloatWithDefaultNull()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.FloatProperty, true, (float)3.14);
            var map = mapDefinition.CreateMap();
            var reader = GetDataRecordWithNullColumn("FloatProperty");

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal((float)3.14, item.FloatProperty);
        }
示例#23
0
        public void MapGetNullableString()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.StringProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetStringFromReader("StringProperty", "This is a test.");

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal("This is a test.", item.StringProperty);
        }
示例#24
0
        public void MapGetLong()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.LongProperty);
            var map = mapDefinition.CreateMap();
            var reader = SetupGetLongFromReader("LongProperty", 64);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.Equal(64, item.LongProperty);
        }
示例#25
0
        public void MapGetNullableDateTimeOffset()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableDateTimeOffsetProperty);
            var map = (ISqlMap<TestModel>)mapDefinition.CreateMap();
            var reader = SetupGetDateTimeOffsetFromReader("NullableDateTimeOffsetProperty", DateTime.Today);

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);
            map.LoadSqlDataReader(item, reader);

            // Assert
            Assert.NotNull(item.NullableDateTimeOffsetProperty);
            Assert.Equal(DateTime.Today, item.NullableDateTimeOffsetProperty.Value);
        }
示例#26
0
        public void MapGetCharWithDefaultToNullableField()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.NullableCharProperty, true, 'e');
            var map = mapDefinition.CreateMap();
            var reader = SetupGetCharFromReader("NullableCharProperty", 'c');

            // Act
            var item = new TestModel();
            map.LoadOrdinals(reader);
            map.Load(item, reader);

            // Assert
            Assert.NotNull(item.NullableCharProperty);
            Assert.Equal('c', item.NullableCharProperty.Value);
        }
示例#27
0
        public void SetStringParameterWithNull()
        {
            // Arrange
            var mapDefinition = new MapDefinition<TestModel>();
            mapDefinition.Map(model => model.StringProperty, true);
            var parameterName = "@StringProperty";
            var command = CreateCommandWithParameter("MySproc", CommandType.StoredProcedure, parameterName);
            var map = mapDefinition.CreateMap();

            // Act
            var item = new TestModel();
            item.StringProperty = null;
            map.LoadParameters(command, item);

            // Assert
            Assert.Equal(DBNull.Value, command.Parameters[parameterName].Value);
        }