public void NonbindingParameterConfigurationSupportsParameterTypeAs(Type type, bool isNullable) { // Arrange ODataModelBuilder builder = new ODataModelBuilder(); builder.EntityType <Customer>(); builder.ComplexType <Address>(); builder.EnumType <Color>(); // Act Type underlyingType = TypeHelper.GetUnderlyingTypeOrSelf(type); IEdmTypeConfiguration edmTypeConfiguration = builder.GetTypeConfigurationOrNull(type); if (underlyingType.IsEnum) { edmTypeConfiguration = builder.GetTypeConfigurationOrNull(underlyingType); if (edmTypeConfiguration != null && isNullable) { edmTypeConfiguration = ((EnumTypeConfiguration)edmTypeConfiguration).GetNullableEnumTypeConfiguration(); } } NonbindingParameterConfiguration parameter = new NonbindingParameterConfiguration("name", edmTypeConfiguration); // Assert Assert.Equal(isNullable, parameter.Nullable); }
public void NonbindingParameterConfigurationSupportsParameterCollectionTypeAs(Type type, bool isNullable) { // Arrange ODataModelBuilder builder = new ODataModelBuilder(); builder.EntityType <Customer>(); builder.ComplexType <Address>(); builder.EnumType <Color>(); Type elementType; Assert.True(TypeHelper.IsCollection(type, out elementType)); // Act Type underlyingType = TypeHelper.GetUnderlyingTypeOrSelf(elementType); IEdmTypeConfiguration elementTypeConfiguration = builder.GetTypeConfigurationOrNull(underlyingType); CollectionTypeConfiguration collectionType = new CollectionTypeConfiguration(elementTypeConfiguration, typeof(IEnumerable <>).MakeGenericType(elementType)); NonbindingParameterConfiguration parameter = new NonbindingParameterConfiguration("name", collectionType); // Assert Assert.Equal(isNullable, parameter.Nullable); }