public void DynamicRecordField_SourceFieldLayoutIsProvided_SourceFieldLayoutAttributeIsCreated() { var fieldProvider = MockRepository.GenerateMock <IDynamicRecordFieldProvider>(); var dynamicRecordFactory = new DynamicRecordFactory(fieldProvider); var dynamicRecordField = new DynamicRecordField() { Name = "Field0", DotNetDataType = typeof(string), SourceFieldStartIndex = 1, SourceFieldLength = 10 }; var fields = new List <IDynamicRecordField>() { dynamicRecordField }; fieldProvider.Stub(x => x.GetFields()).Return(fields); var record = dynamicRecordFactory.Create(null); var property = record.GetType().GetProperty(dynamicRecordField.Name); var sourceFieldLayoutAttribute = (SourceFieldLayoutAttribute)property .GetCustomAttributes(true) .Single(x => x is SourceFieldLayoutAttribute); Assert.AreEqual(1, sourceFieldLayoutAttribute.StartIndex); Assert.AreEqual(10, sourceFieldLayoutAttribute.Length); }
public void DynamicRecordField_DestinationFieldNameIsProvided_DestinationFieldNameAttributeIsCreated() { var fieldProvider = MockRepository.GenerateMock <IDynamicRecordFieldProvider>(); var dynamicRecordFactory = new DynamicRecordFactory(fieldProvider); var dynamicRecordField = new DynamicRecordField() { Name = "Field0", DotNetDataType = typeof(string), DestinationFieldName = "Field0Name" }; var fields = new List <IDynamicRecordField>() { dynamicRecordField }; fieldProvider.Stub(x => x.GetFields()).Return(fields); var record = dynamicRecordFactory.Create(null); var property = record.GetType().GetProperty(dynamicRecordField.Name); var DestinationFieldNameAttribute = (DestinationFieldNameAttribute)property .GetCustomAttributes(true) .Single(x => x is DestinationFieldNameAttribute); Assert.AreEqual("Field0Name", DestinationFieldNameAttribute.FieldName); }
public void DynamicRecordField_DotNetDataTypeIsNotProvided_ExceptionIsThrown() { var fieldProvider = MockRepository.GenerateMock <IDynamicRecordFieldProvider>(); var dynamicRecordFactory = new DynamicRecordFactory(fieldProvider); var dynamicRecordField = new DynamicRecordField() { Name = "Field0", DotNetDataType = null, SourceFieldOrdinal = 1 }; var fields = new List <IDynamicRecordField>() { dynamicRecordField }; fieldProvider.Stub(x => x.GetFields()).Return(fields); dynamicRecordFactory.Create(null); }