コード例 #1
0
ファイル: CoroutTest.cs プロジェクト: PlumpMath/Iterator
        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();
        }
コード例 #2
0
ファイル: CoroutTest.cs プロジェクト: PlumpMath/Iterator
        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();
        }
コード例 #3
0
ファイル: CoroutTest.cs プロジェクト: PlumpMath/Iterator
        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();
        }
コード例 #4
0
ファイル: CoroutTest.cs プロジェクト: PlumpMath/Iterator
        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();
        }