public void TestPipe() { SafeCounter sc = new SafeCounter(); SmartThreadPool stp = new SmartThreadPool(); stp.Pipe( sc, sc1 => { if (sc.Counter == 0) { sc1.Increment(); } }, sc1 => { if (sc.Counter == 1) { sc1.Increment(); } }, sc1 => { if (sc.Counter == 2) { sc1.Increment(); } } ); Assert.AreEqual(3, sc.Counter); stp.Shutdown(); }