public void ResolveFunctionsOverloadsByParameterNameShouldNotThrowIfMultipleResolve()
        {
            var function = new EdmFunction("d.s", "function1", EdmCoreModel.Instance.GetSingle(false));
            function.AddParameter("param1", EdmCoreModel.Instance.GetString(true));
            var function1 = new EdmFunction("d.s", "function1", EdmCoreModel.Instance.GetSingle(false));
            function1.AddParameter("param1", EdmCoreModel.Instance.GetString(true));
            var functions = new EdmFunction[] { function, function1 };

            var selectedFunctions = functions.FilterFunctionsByParameterNames(new string[] { "param1" }).ToList();
            selectedFunctions.Count.Should().Be(2);
        }
        public void ResolveFunctionsOverloadsByParameterNameShouldResolve()
        {
            var function = new EdmFunction("d.s", "function1", EdmCoreModel.Instance.GetSingle(false));
            var functionOverload1 = new EdmFunction("d.s", "function1", EdmCoreModel.Instance.GetSingle(false));
            functionOverload1.AddParameter("foo", EdmCoreModel.Instance.GetSingle(false));
            var functionOverload2 = new EdmFunction("d.s", "function1", EdmCoreModel.Instance.GetSingle(false));
            functionOverload2.AddParameter("foo", EdmCoreModel.Instance.GetSingle(false));
            functionOverload2.AddParameter("foo2", EdmCoreModel.Instance.GetSingle(false));

            var functions = new EdmFunction[] { function, functionOverload1, functionOverload2 };
            var resolvedFunction = functions.FilterFunctionsByParameterNames(new string[] { "foo" });
            resolvedFunction.First().Should().BeSameAs(functionOverload1);
        }