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); }
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); }