public void ShouldSuppressTypeNameSerialization(TestODataMetadataLevel metadataLevel, bool expectedResult) { // Act bool actualResult = ODataComplexTypeSerializer.ShouldSuppressTypeNameSerialization( (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }
public void ShouldAddTypeNameAnnotation(TestODataMetadataLevel metadataLevel, bool expectedResult) { // Act bool actualResult = ODataCollectionSerializer.ShouldAddTypeNameAnnotation( (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }
public void ShouldSuppressTypeNameSerialization(object value, TestODataMetadataLevel metadataLevel, bool expectedResult) { // Act bool actualResult = ODataPrimitiveSerializer.ShouldSuppressTypeNameSerialization(value, (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }
public void CreateODataAction_OmitsAction_WhenFollowingConventions(TestODataMetadataLevel metadataLevel) { // Arrange IEdmAction action = CreateFakeAction("IgnoreAction", isBindable: true); ActionLinkBuilder linkBuilder = new ActionLinkBuilder((a) => new Uri("aa://Ignore"), followsConventions: true); IEdmDirectValueAnnotationsManager annotationsManager = CreateFakeAnnotationsManager(); annotationsManager.SetActionLinkBuilder(action, linkBuilder); IEdmModel model = CreateFakeModel(annotationsManager); UrlHelper url = CreateMetadataLinkFactory("http://IgnoreMetadataPath"); EntityInstanceContext context = CreateContext(model, url); context.SerializerContext.MetadataLevel = (ODataMetadataLevel)metadataLevel; // Act ODataAction actualAction = _serializer.CreateODataAction(action, context); // Assert Assert.Null(actualAction); }
public void CreateODataAction_IncludesTarget(TestODataMetadataLevel metadataLevel, bool followsConventions) { // Arrange Uri expectedTarget = new Uri("aa://Target"); IEdmAction action = CreateFakeAction("IgnoreAction"); ActionLinkBuilder linkBuilder = new ActionLinkBuilder((a) => expectedTarget, followsConventions); IEdmDirectValueAnnotationsManager annotationsManager = CreateFakeAnnotationsManager(); annotationsManager.SetActionLinkBuilder(action, linkBuilder); IEdmModel model = CreateFakeModel(annotationsManager); UrlHelper url = CreateMetadataLinkFactory("http://IgnoreMetadataPath"); EntityInstanceContext context = CreateContext(model, url); context.SerializerContext.MetadataLevel = (ODataMetadataLevel)metadataLevel; // Act ODataAction actualAction = _serializer.CreateODataAction(action, context); // Assert Assert.NotNull(actualAction); Assert.Equal(expectedTarget, actualAction.Target); }
public void ShouldSuppressTypeNameSerialization(string entryType, string entitySetType, TestODataMetadataLevel metadataLevel, bool expectedResult) { // Arrange ODataEntry entry = new ODataEntry { // The caller uses a namespace-qualified name, which this test leaves empty. TypeName = "." + entryType }; IEdmEntityType edmType = CreateEntityTypeWithName(entitySetType); // Act bool actualResult = ODataEntityTypeSerializer.ShouldSuppressTypeNameSerialization(entry, edmType, (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }
public void TestShouldOmitAction(TestODataMetadataLevel metadataLevel, bool isAlwaysAvailable, bool expectedResult) { // Arrange IEdmFunctionImport action = CreateFakeFunctionImport(true); IEdmDirectValueAnnotationsManager annonationsManager = CreateFakeAnnotationsManager(); if (isAlwaysAvailable) { annonationsManager.SetIsAlwaysBindable(action); } IEdmModel model = CreateFakeModel(annonationsManager); // Act bool actualResult = ODataEntityTypeSerializer.ShouldOmitAction(action, model, (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }
public void ShouldAddTypeNameAnnotation(TestODataMetadataLevel metadataLevel, bool expectedResult) { // Act bool actualResult = ODataEntityTypeSerializer.ShouldAddTypeNameAnnotation( (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }
public void CreateMetadataFragment_OmitsDefaultContainerName(TestODataMetadataLevel metadataLevel) { // Arrange string expectedActionName = "Action"; IEdmEntityContainer container = CreateFakeContainer("ContainerShouldNotAppearInResult"); IEdmFunctionImport action = CreateFakeFunctionImport(container, expectedActionName); IEdmDirectValueAnnotationsManager annotationsManager = CreateFakeAnnotationsManager(); annotationsManager.SetDefaultContainer(container); IEdmModel model = CreateFakeModel(annotationsManager); // Act string actualFragment = ODataEntityTypeSerializer.CreateMetadataFragment(action, model, (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedActionName, actualFragment); }
public void CreateMetadataFragment_IncludesNonDefaultContainerName(TestODataMetadataLevel metadataLevel) { // Arrange string expectedContainerName = "Container"; string expectedActionName = "Action"; IEdmEntityContainer container = CreateFakeContainer(expectedContainerName); IEdmFunctionImport action = CreateFakeFunctionImport(container, expectedActionName); IEdmModel model = CreateFakeModel(); // Act string actualFragment = ODataEntityTypeSerializer.CreateMetadataFragment(action, model, (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedContainerName + "." + expectedActionName, actualFragment); }
public void CreateODataAction_IncludesTitle(TestODataMetadataLevel metadataLevel) { // Arrange string expectedActionName = "Action"; IEdmEntityContainer container = CreateFakeContainer("IgnoreContainer"); IEdmFunctionImport functionImport = CreateFakeFunctionImport(container, expectedActionName); ActionLinkBuilder linkBuilder = new ActionLinkBuilder((a) => new Uri("aa://IgnoreTarget"), followsConventions: false); IEdmDirectValueAnnotationsManager annotationsManager = CreateFakeAnnotationsManager(); annotationsManager.SetActionLinkBuilder(functionImport, linkBuilder); IEdmModel model = CreateFakeModel(annotationsManager); UrlHelper url = CreateMetadataLinkFactory("http://IgnoreMetadataPath"); EntityInstanceContext context = CreateContext(model, url); // Act ODataAction actualAction = ODataEntityTypeSerializer.CreateODataAction(functionImport, context, (ODataMetadataLevel)metadataLevel); // Assert Assert.NotNull(actualAction); Assert.Equal(expectedActionName, actualAction.Title); }
public void CreateODataFunction_OmitsAction_WhenFollowingConventions(TestODataMetadataLevel metadataLevel) { // Arrange IEdmTypeReference returnType = EdmCoreModel.Instance.GetPrimitive(EdmPrimitiveTypeKind.Boolean, isNullable: false); IEdmFunction function = new EdmFunction("NS", "Function", returnType, isBound: true, entitySetPathExpression: null, isComposable: false); FunctionLinkBuilder linkBuilder = new FunctionLinkBuilder((EntityInstanceContext a) => new Uri("aa://Ignore"), followsConventions: true); IEdmDirectValueAnnotationsManager annotationsManager = CreateFakeAnnotationsManager(); annotationsManager.SetFunctionLinkBuilder(function, linkBuilder); IEdmModel model = CreateFakeModel(annotationsManager); UrlHelper url = CreateMetadataLinkFactory("http://IgnoreMetadataPath"); EntityInstanceContext context = CreateContext(model, url); context.SerializerContext.MetadataLevel = (ODataMetadataLevel)metadataLevel; // Act ODataFunction actualFunction = _serializer.CreateODataFunction(function, context); // Assert Assert.Null(actualFunction); }
public void TestShouldOmitAction(TestODataMetadataLevel metadataLevel, bool followsConventions, bool expectedResult) { // Arrange IEdmActionImport action = CreateFakeActionImport(true); IEdmDirectValueAnnotationsManager annonationsManager = CreateFakeAnnotationsManager(); IEdmModel model = CreateFakeModel(annonationsManager); ActionLinkBuilder builder = new ActionLinkBuilder((a) => { throw new NotImplementedException(); }, followsConventions); // Act bool actualResult = ODataEntityTypeSerializer.ShouldOmitAction(action.Action, builder, (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }
public void CreateODataAction_OmitsTitle(TestODataMetadataLevel metadataLevel) { // Arrange IEdmEntityContainer container = CreateFakeContainer("IgnoreContainer"); IEdmFunctionImport functionImport = CreateFakeFunctionImport(container, "IgnoreAction"); ActionLinkBuilder linkBuilder = new ActionLinkBuilder((a) => new Uri("aa://Ignore"), followsConventions: false); IEdmDirectValueAnnotationsManager annotationsManager = CreateFakeAnnotationsManager(); annotationsManager.SetActionLinkBuilder(functionImport, linkBuilder); IEdmModel model = CreateFakeModel(annotationsManager); UrlHelper url = CreateMetadataLinkFactory("http://IgnoreMetadataPath"); EntityInstanceContext context = CreateContext(model, url); context.SerializerContext.MetadataLevel = (ODataMetadataLevel)metadataLevel; // Act ODataAction actualAction = _serializer.CreateODataAction(functionImport, context); // Assert Assert.NotNull(actualAction); Assert.Null(actualAction.Title); }
public void ShouldSuppressTypeNameSerialization(string entryType, string entitySetType, TestODataMetadataLevel metadataLevel, bool expectedResult) { // Arrange ODataEntry entry = new ODataEntry { TypeName = entryType }; IEdmEntitySet entitySet = CreateEntitySetWithElementTypeName(entitySetType); // Act bool actualResult = ODataEntityTypeSerializer.ShouldSuppressTypeNameSerialization(entry, null, (ODataMetadataLevel)metadataLevel); // Assert Assert.Equal(expectedResult, actualResult); }