public void InterlaceError() { var x = 3; var y = 4.57f; var z = 1425.67f; var xx = x * x; var yy = y * y; var zz = z.ToString(); var cw = string.Join(" ", new string[] { xx.ToString(), yy.ToString(), zz }); Corout.WhenAll <int, float, string>(ac => Routines.Failing(x, ac), ac => Routines.GetFloatSquareRoot(y, ac), ac => Routines.GetFloatString(z, ac)) .OnCatch <Exception>((ex, co) => { Debug.Log("catch error"); //throw ex; co.Abort(); }) .ContinueWith(() => Routines.NStepVerbose(10)) //.ContinueWith<string>(Routines.JoinString) //.OnComplete(co => //{ //Debug.Log(co.Result); //Assert.AreEqual(cw, co.Result); //}) .Start(); }
public void Simple() { var x = 7.525f; var y = x * x; Corout.Create <float>(co => Routines.GetFloatSquareRoot(x, co)) .OnSucceed(co => { Assert.AreEqual(co.Result, y); Assert.IsTrue(co.Succeeded); }) .Start(); }
public void ContinueSimple() { var x = 7.525f; var y = x * x; var s = y.ToString(); int l = s.Length; Corout.Create <float>(co => Routines.GetFloatSquareRoot(x, co)) .OnSucceed(co => Assert.AreEqual(co.Result, y)) .ContinueWith <string>(Routines.GetFloatString) .OnSucceed(co => Assert.AreEqual(co.Result, s)) .ContinueWith <int>(Routines.GetLength) .OnSucceed(co => Assert.AreEqual(co.Result, l)) .Start(); }
public void Interlace() { var x = 3; var y = 4.57f; var z = 1425.67f; var xx = x * x; var yy = y * y; var zz = z.ToString(); var cw = string.Join(" ", new string[] { xx.ToString(), yy.ToString(), zz }); Corout.WhenAll(() => Routines.NStepVerbose(5), () => Routines.NStepVerbose(10), () => Routines.NStepVerbose(15)) .OnSucceed(co => { Debug.Log("OnSucceed"); }) .Start(); Corout.WhenAll <int, float, string>(co => Routines.GetIntSquareRoot(x, co), co => Routines.GetFloatSquareRoot(y, co), co => Routines.GetFloatString(z, co)) .OnSucceed(co => { Debug.Log(co.Result.Item1); Debug.Log(co.Result.Item2); Debug.Log(co.Result.Item3); }) .ContinueWith <string>(Routines.JoinString) .OnSucceed(co => { Debug.Log(co.Result); Assert.AreEqual(cw, co.Result); }) .Start(); }