public void NonBoundCsdlSemanticsOperationPropertiesShouldBeCorrect()
 {
     var function = new CsdlFunction("Checkout", Enumerable.Empty<CsdlOperationParameter>(), new CsdlNamedTypeReference("Edm.String", false, testLocation), false /*isBound*/, null /*entitySetPath*/, true /*isComposable*/, null /*documentation*/, testLocation);
     var semanticFunction = new CsdlSemanticsFunction(this.semanticSchema, function);
     semanticFunction.IsBound.Should().BeFalse();
     semanticFunction.Location().Should().Be(testLocation);
     semanticFunction.Name.Should().Be("Checkout");
     semanticFunction.Namespace.Should().Be("FQ.NS");
     semanticFunction.ReturnType.Definition.Should().Be(EdmCoreModel.Instance.GetString(true).Definition);
     semanticFunction.EntitySetPath.Should().BeNull();
     semanticFunction.SchemaElementKind.Should().Be(EdmSchemaElementKind.Function);
     semanticFunction.IsComposable.Should().BeTrue();
 }
        public void CsdlSemanticsFunctionImportPropertiesShouldBeInitializedCorrectly()
        {
            // Added to ensure this is filtered out
            var function = CsdlBuilder.Function("GetStuff");
            
            var functionImport = new CsdlFunctionImport("GetStuff", "FQ.NS.GetStuff", null /*entitySet*/, true /*includeInServiceDocument*/, null /*documentation*/, testLocation);
            var csdlEntityContainer = CsdlBuilder.EntityContainer("Container");

            var semanticSchema = CreateCsdlSemanticsSchema(csdlEntityContainer, function);
            var semanticFunction = new CsdlSemanticsFunction(semanticSchema, function);

            var csdlSemanticEntityContainer = new CsdlSemanticsEntityContainer(semanticSchema, csdlEntityContainer);
            var semanticActionImport = new CsdlSemanticsFunctionImport(csdlSemanticEntityContainer, functionImport, semanticFunction);
            semanticActionImport.Function.Should().NotBeNull();
            semanticActionImport.Function.Name.Should().Be("GetStuff");
            semanticActionImport.Container.Name.Should().Be("Container");
            semanticActionImport.Location().Should().Be(testLocation);
            semanticActionImport.ContainerElementKind.Should().Be(EdmContainerElementKind.FunctionImport);
            semanticActionImport.EntitySet.Should().BeNull();
            semanticActionImport.IncludeInServiceDocument.Should().BeTrue();
        }