/// <summary> /// Initializes a new instance of <see cref="ODataContext"/> class. /// </summary> /// <param name="model">The Edm model.</param> /// <param name="settings">The convert setting.</param> public ODataContext(IEdmModel model, OpenApiConvertSettings settings) { Model = model ?? throw Error.ArgumentNull(nameof(model)); Settings = settings ?? throw Error.ArgumentNull(nameof(settings)); EdmSpatialTypeVisitor visitor = new EdmSpatialTypeVisitor(); visitor.Visit(model); IsSpatialTypeUsed = visitor.IsSpatialTypeUsed; OperationHanderProvider = new OperationHandlerProvider(); PathItemHanderProvider = new PathItemHandlerProvider(); _pathProvider = new ODataPathProvider(); if (settings.EnableKeyAsSegment != null) { // We have the global setting, use the global setting KeyAsSegment = settings.EnableKeyAsSegment.Value; } else { KeyAsSegment = false; if (model.EntityContainer != null) { var keyAsSegment = model.GetBoolean(model.EntityContainer, CapabilitiesConstants.KeyAsSegmentSupported); if (keyAsSegment != null) { KeyAsSegment = keyAsSegment.Value; } } } }
public void GetHandlerReturnsNullForUnknownPathKind() { // Arrange PathItemHandlerProvider provider = new PathItemHandlerProvider(); // Act IPathItemHandler hander = provider.GetHandler(ODataPathKind.Unknown); // Assert Assert.Null(hander); }
public void GetHandlerReturnsCorrectHandlerType(ODataPathKind pathKind, Type handlerType) { // Arrange PathItemHandlerProvider provider = new PathItemHandlerProvider(); // Act IPathItemHandler hander = provider.GetHandler(pathKind); // Assert Assert.Same(handlerType, hander.GetType()); }