private static bool _Run() { bool result = true; int current = 0; int last = 0; IStatelessChain <int> statelessChain = StatelessChain <int> .Create((x) => x < 3, F.DoNothing <int>); while (null != statelessChain) { last = current; current++; statelessChain = statelessChain.Run(current); } result = result.And(F.equ_int(last, 2)); int count = 0; IStatefulChain <int> statefulChain = StatefulChain <int> .Create((x) => x < 3, (y) => { count++; }, (v) => v + 1, 0); while (null != statefulChain) { statefulChain = statefulChain.Run(); } result = result && (count == 3); return(result); }
public static IStatelessChain <T, U> Run <U>(IStatelessChain <T, U> item, T t, U u) { return(item.Run(t, u)); }
public static IStatelessChain <T, U, V> Run <U, V>(IStatelessChain <T, U, V> item, T t, U u, V v) { return(item.Run(t, u, v)); }
public static IStatelessChain <T> Run(IStatelessChain <T> item, T t) { return(item.Run(t)); }