public void Can_SetFunctionTitle_OnBindable_Functions() { // Arrange ODataModelBuilder builder = new ODataModelBuilder(); EntitySetConfiguration <Movie> movies = builder.EntitySet <Movie>("Movies"); movies.EntityType.HasKey(m => m.ID); FunctionConfiguration entityAction = movies.EntityType.Function("Checkout"); entityAction.Returns <int>(); entityAction.Title = "Check out"; FunctionConfiguration collectionAction = movies.EntityType.Collection.Function("RemoveOld"); collectionAction.Returns <int>(); collectionAction.Title = "Remove Old Movies"; // Act IEdmModel model = builder.GetEdmModel(); IEdmOperation checkout = model.FindOperations("Default.Checkout").Single(); IEdmOperation removeOld = model.FindOperations("Default.RemoveOld").Single(); OperationTitleAnnotation checkoutTitle = model.GetOperationTitleAnnotation(checkout); OperationTitleAnnotation removeOldTitle = model.GetOperationTitleAnnotation(removeOld); // Assert Assert.NotNull(checkoutTitle); Assert.Equal("Check out", checkoutTitle.Title); Assert.NotNull(removeOldTitle); Assert.Equal("Remove Old Movies", removeOldTitle.Title); }
public void Cant_SetFunctionTitle_OnNonBindableFunctions() { // Arrange ODataModelBuilder builder = new ODataModelBuilder(); FunctionConfiguration function = builder.Function("MyFunction"); function.Returns <int>(); function.Title = "My Function"; // Act IEdmModel model = builder.GetEdmModel(); IEdmOperationImport functionImport = model.EntityContainer.OperationImports().OfType <IEdmFunctionImport>().Single(); Assert.NotNull(functionImport); OperationTitleAnnotation functionTitleAnnotation = model.GetOperationTitleAnnotation(functionImport.Operation); // Assert Assert.Null(functionTitleAnnotation); }
internal static void SetOperationTitleAnnotation(this IEdmModel model, IEdmOperation action, OperationTitleAnnotation title) { Contract.Assert(model != null); model.SetAnnotationValue(action, title); }