public void PartialCloneDoesntCloneHandler() { int cnt = 0; Handler h = () => ++cnt; Task tk = new Task (h); ITask it = tk.PartialClone (); Assert.IsTrue (it is Task, "#1"); Task tk2 = (Task)it; Assert.AreEqual (h, tk2.Handler, "#2"); }
public void Task1PartialCloneDoesntCloneArgument() { int cnt = 0; Handler<int> h = (a) => cnt += a; PortElement<int> pe = new PortElement<int> (10); var tk = new Task<int> (h); tk [0] = pe; ITask it = tk.PartialClone (); Assert.IsTrue (it is Task<int>, "#1"); var tk2 = (Task<int>)it; Assert.IsNull (tk2 [0], "#2"); tk = new Task<int> (99, h); it = tk.PartialClone (); Assert.IsNull (it [0], "#3"); }