public void CreateSimpleValueCalculatorTest() { // Arrange. const string FieldName = "TestField"; const string TypeName = "TestType"; var typeResolver = new Mock<ITypeResolver>(); typeResolver.Setup(x => x.FindType(TypeName)).Returns(typeof(string)); var typeConverter = Mock.Create<ITypeConverter>(Behavior.Loose); var mappingDefinition = new WebMethodParameterMappingDefinition { Name = FieldName, TypeName = TypeName }; var factory = new WebMethodParameterCalculatorFactory { TypeResolver = typeResolver.Object, TypeConverter = typeConverter }; // Act. var valueCalculator = factory.CreateValueCalculator(mappingDefinition); // Assert. Assert.IsTrue(valueCalculator is SimpleValueCalculator); }
public void CreateDynamicLengthArrayValueCalculatorTest() { // Arrange. const string FieldName = "TestField"; const string TypeName = "TestType"; const string ElementTypeName = "TestElementType"; var typeResolver = new Mock<ITypeResolver>(); typeResolver.Setup(x => x.FindType(TypeName)).Returns(typeof(Employee[])); typeResolver.Setup(x => x.FindType(ElementTypeName)).Returns(typeof(Employee)); var typeConverter = Mock.Create<ITypeConverter>(Behavior.Loose); var elementMappingDefinition = new WebMethodParameterMappingDefinition { Name = Constants.ArrayItemGenericFieldName, TypeName = ElementTypeName }; var mappingDefinition = new WebMethodParameterMappingDefinition { Name = FieldName, TypeName = TypeName, Subfields = { elementMappingDefinition } }; var factory = new WebMethodParameterCalculatorFactory { TypeResolver = typeResolver.Object, TypeConverter = typeConverter }; // Act. var valueCalculator = factory.CreateValueCalculator(mappingDefinition); // Assert. Assert.IsTrue(valueCalculator is ArrayValueCalculator); }