コード例 #1
0
        public void ExecuteFunction_Works_FourRefParameter <T, A, B, C, D>(Mock <IServiceForOracle> serviceMock, string function)
        {
            var fixture = new Fixture();
            var valueA  = fixture.Create <A>();
            var valueB  = fixture.Create <B>();
            var valueC  = fixture.Create <C>();
            var valueD  = fixture.Create <D>();

            var expectedA     = fixture.Create <A>();
            var expectedB     = fixture.Create <B>();
            var expectedC     = fixture.Create <C>();
            var expectedD     = fixture.Create <D>();
            var expectedValue = fixture.Create <T>();

            serviceMock.Setup(s => s.ExecuteFunction <T>(function, It.IsAny <IParam>(), It.IsAny <IParam>(), It.IsAny <IParam>(), It.IsAny <IParam>()))
            .Callback((string f, IParam[] p) => SetParamValues(p, expectedA, expectedB, expectedC, expectedD))
            .Returns(expectedValue);

            var actual = FunctionExtensions.ExecuteFunction <T, A, B, C, D>(serviceMock.Object, function, ref valueA, ref valueB, ref valueC, ref valueD);

            Assert.Equal(expectedA, valueA);
            Assert.Equal(expectedB, valueB);
            Assert.Equal(expectedC, valueC);
            Assert.Equal(expectedD, valueD);
            Assert.Equal(expectedValue, actual);
        }
コード例 #2
0
        public void LambdaWith2ParametersCanBeCurried()
        {
            var curriedLambda = FunctionExtensions.Curry((int v1, string v2) => Tuple.Create(v1, v2));

            var result = curriedLambda(5)("five");

            Assert.Equal(Tuple.Create(5, "five"), result);
        }
コード例 #3
0
        /// <summary>
        ///A test for Compose
        /// </summary>
        void ComposeTest1Helper <R, U, T>()
        {
            Func <R, T> f        = r => default;
            Func <U, R> g        = u => default;
            Func <U, T> expected = u => default;
            Func <U, T> actual;

            actual = FunctionExtensions.Compose(f, g);
            Check.That(expected(default)).IsEqualTo(default);
コード例 #4
0
        public void StaticMethodWith2ParametersCanBeCurried()
        {
            var curriedMethod = FunctionExtensions
                                .Curry <int, string, object>(MethodWithTwoParameters);

            var result = curriedMethod(5)("five");

            Assert.Equal(Tuple.Create(5, "five"), result);
        }
コード例 #5
0
        public void DelegateWith2ParametersCanBeCurried()
        {
            var curriedDelegate = FunctionExtensions
                                  .Curry <int, string, object>(DelegateWithTwoParamaters.Invoke);

            var result = curriedDelegate(5)("five");

            Assert.Equal(Tuple.Create(5, "five"), result);
        }
コード例 #6
0
        public void ExecuteFunction_Works_OneParameter <T, A>(Mock <IServiceForOracle> serviceMock, string function)
        {
            var fixture = new Fixture();
            var valueA  = fixture.Create <A>();

            var expectedValue = fixture.Create <T>();

            serviceMock.Setup(s => s.ExecuteFunction <T>(function, It.IsAny <IParam>()))
            .Returns(expectedValue);

            var actual = FunctionExtensions.ExecuteFunction <T, A>(serviceMock.Object, function, valueA);

            Assert.Equal(expectedValue, actual);
        }
コード例 #7
0
 protected override CommonSyntaxToken GetLastTokenCore(Func <CommonSyntaxToken, bool> predicate, Func <CommonSyntaxTrivia, bool> stepInto)
 {
     return((CommonSyntaxToken)this.GetLastToken(FunctionExtensions.ToLanguageSpecific(predicate), FunctionExtensions.ToLanguageSpecific(stepInto)));
 }