public void BoundFunction_ForEnumWithLongUnderlyingTypeInODataModelBuilder() { // Arrange ODataModelBuilder builder = ODataModelBuilderMocks.GetModelBuilderMock <ODataModelBuilder>(); builder.Add_LongEnum_EnumType(); EntityTypeConfiguration <EnumModel> entityTypeConfiguration = builder.EntityType <EnumModel>(); FunctionConfiguration functionConfiguration = entityTypeConfiguration.Function("BoundFunction"); functionConfiguration.Parameter <LongEnum>("LongEnum"); functionConfiguration.Returns <int>(); // Act & Assert IEdmModel model = builder.GetEdmModel(); IEdmFunction function = model.FindDeclaredOperations("Default.BoundFunction").Single() as IEdmFunction; IEdmTypeReference longEnumParameter = function.Parameters.Single(p => p.Name == "LongEnum").Type; IEdmEnumType longEnumType = model.SchemaElements.OfType <IEdmEnumType>().Single(e => e.Name == "LongEnum"); Assert.Same(longEnumType, longEnumParameter.Definition); Assert.Equal(EdmPrimitiveTypeKind.Int64, longEnumParameter.AsEnum().EnumDefinition().UnderlyingType.PrimitiveKind); }