public void SelectBindingShouldCheckForExtendedModelInterfaceAndLookupOperationsByBindingType()
        {
            IEdmEntityType          dummyBindingType   = new EdmEntityType("Fake", "Type");
            IEdmEntityTypeReference dummyTypeReference = new EdmEntityTypeReference(dummyBindingType, false);
            var function1 = new EdmFunction("Name.Space", "FakeFunction1", new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true), true, null, false);

            function1.AddParameter("bindingParameter", dummyTypeReference);
            var function2 = new EdmFunction("Name.Space", "FakeFunction1", new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int64), true), true, null, false);

            function2.AddParameter("bindingParameter", dummyTypeReference);

            var dummyOperations = new[] { function1, function2 };
            var resolver        = new DummyFunctionImportResolver
            {
                FindOperations = (bindingType) =>
                {
                    bindingType.Should().BeSameAs(dummyBindingType);
                    return(dummyOperations);
                }
            };
            ODataPathSegment segment = SelectPathSegmentTokenBinder.ConvertNonTypeTokenToSegment(new NonSystemToken("Name.Space.FakeFunction1", null, null), resolver, dummyBindingType, DefaultUriResolver);

            segment.ShouldBeOperationSegment(dummyOperations /* TODO: parameters */);
        }
        public void SelectBindingShouldCheckForExtendedModelInterfaceAndLookupOperationsByBindingType()
        {
            IEdmEntityType dummyBindingType = new EdmEntityType("Fake", "Type");
            IEdmEntityTypeReference dummyTypeReference = new EdmEntityTypeReference(dummyBindingType, false);
            var function1 = new EdmFunction("Name.Space", "FakeFunction1", new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int32), true), true, null, false);
            function1.AddParameter("bindingParameter", dummyTypeReference);
            var function2 = new EdmFunction("Name.Space", "FakeFunction1", new EdmPrimitiveTypeReference(EdmCoreModel.Instance.GetPrimitiveType(EdmPrimitiveTypeKind.Int64), true), true, null, false);
            function2.AddParameter("bindingParameter", dummyTypeReference);

            var dummyOperations = new[] { function1, function2 };
            var resolver = new DummyFunctionImportResolver
                {
                    FindOperations = (bindingType) =>
                        {
                            bindingType.Should().BeSameAs(dummyBindingType);
                            return dummyOperations;
                        }
                };
            ODataPathSegment segment = SelectPathSegmentTokenBinder.ConvertNonTypeTokenToSegment(new NonSystemToken("Name.Space.FakeFunction1", null, null), resolver, dummyBindingType);
            segment.ShouldBeOperationSegment(dummyOperations /* TODO: parameters */);
        }