public void CreateComplexValueCalculatorTest() { // Arrange. var typeConverter = Mock.Create<ITypeConverter>(Behavior.Loose); var fieldMappingDefinition = new FieldMappingDefinition { FieldName = ReflectionHelper.GetFieldName<Employee>(x => x.FirstName), ValueExpression = c => "First Name" }; var propertyMappingDefinition = new FieldMappingDefinition { FieldName = ReflectionHelper.GetPropertyName<Employee>(x => x.LastName), ValueExpression = c => "Last Name" }; var mappingDefinition = new FieldMappingDefinition { FieldName = "TestField", Subfields = { fieldMappingDefinition, propertyMappingDefinition } }; var factory = new ValueCalculatorFactory(typeConverter); // Act. var valueCalculator = factory.CreateValueCalculator(typeof(Employee), mappingDefinition); // Assert. Assert.IsTrue(valueCalculator is ComplexValueCalculator); }
public void CreateSimpleValueCalculatorTest() { // Arrange. var typeConverter = Mock.Create<ITypeConverter>(Behavior.Loose); var mappingDefinition = new FieldMappingDefinition { FieldName = "TestField", ValueExpression = c => null }; var factory = new ValueCalculatorFactory(typeConverter); // Act. var valueCalculator = factory.CreateValueCalculator(typeof(string), mappingDefinition); // Assert. Assert.IsTrue(valueCalculator is SimpleValueCalculator); }
public void CreateArrayValueCalculatorTest() { // Arrange. var typeConverter = Mock.Create<ITypeConverter>(Behavior.Loose); var elementMappingDefinition = new FieldMappingDefinition { FieldName = Constants.ArrayItemGenericFieldName }; var mappingDefinition = new FieldMappingDefinition { FieldName = "TestField", Subfields = { elementMappingDefinition } }; var factory = new ValueCalculatorFactory(typeConverter); // Act. var valueCalculator = factory.CreateValueCalculator(typeof(string[]), mappingDefinition); // Assert. Assert.IsTrue(valueCalculator is ArrayValueCalculator); }