コード例 #1
0
        public void LinkedMethodsTest11()
        {
            BeethovenFactory             beethovenFactory = new BeethovenFactory();
            WithParametersImplementation implentation     = new WithParametersImplementation();
            ITestMethods instance = beethovenFactory.Generate <ITestMethods>(
                LinkedMethodsReturnValue.Create <ITestMethods>(nameof(ITestMethods.WithParameters), 1)
                .AutoMappedMethod(implentation)
                .Func(() => 5));
            int result = instance.WithParameters("fdgdf", "afasf", 3);

            Assert.AreEqual(5, result);
        }
コード例 #2
0
        public void LinkedMethodsTest8()
        {
            BeethovenFactory beethovenFactory = new BeethovenFactory();
            int calledCount = 0;
            WithParametersImplementation implentation = new WithParametersImplementation();
            ITestMethods instance = beethovenFactory.Generate <ITestMethods>(
                LinkedMethodsReturnValue.Create <ITestMethods>(nameof(ITestMethods.WithParameters), 1)
                .Func((int count) => count)
                .SkipIfResultCondition((int count) => count == 0)
                .AutoMappedMethod(implentation)
                .Action(() => calledCount++));
            int result1 = instance.WithParameters("fegf", "ggn", 0);

            Assert.AreEqual(0, calledCount);
            Assert.AreEqual(0, result1);
            int result2 = instance.WithParameters("fdgdf", "afasf", 3);

            Assert.AreEqual(1, calledCount);
            Assert.AreEqual(30, result2);
        }