/// <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 GetHandlerReturnsCorrectOperationHandlerType(ODataPathKind pathKind, OperationType operationType, Type handlerType) { // Arrange OperationHandlerProvider provider = new OperationHandlerProvider(); // Act IOperationHandler hander = provider.GetHandler(pathKind, operationType); // Assert Assert.Same(handlerType, hander.GetType()); }