Beispiel #1
0
    public IEnumerator coIEnumerator()
    {
        Debug.Log("coIEnumerator start " + CoRunner.FrameCount);
        yield return(CoRunner.Start(coBasic()));

        Debug.Log("coIEnumerator finished " + CoRunner.FrameCount + " " + Time.frameCount);
    }
Beispiel #2
0
    public IEnumerator StartOnYield()
    {
        var en = tests.coStartOnYield();

        CoRunner.Start(coRunTest(en, 3));
        yield return(Await());
    }
Beispiel #3
0
    public IEnumerator coRunImmediate()
    {
        Debug.Log(CoRunner.FrameCount);
        yield return(CoRunner.Start(coImmediate()));

        Debug.Log("coRunImmediate finished " + CoRunner.FrameCount);
    }
Beispiel #4
0
    public IEnumerator AwaitResult()
    {
        Debug.Log("start coReturnInt " + Time.frameCount);
        var result = 10;

        CoRunner.Start(coRunTest(tests.coReturnInt(result), 0, result));
        yield return(Await());
    }
Beispiel #5
0
    public IEnumerator coAwaitResult()
    {
        var x = CoRunner.Start <int>(coReturnInt(5));

        yield return(x);

        Debug.Log(x.ReturnValue);
    }
Beispiel #6
0
    public IEnumerator coAwaitNull()
    {
        var result = CoRunner.Start <int>(coReturnNull());

        yield return(result);

        Debug.Log("done at " + Time.frameCount + " " + result.ReturnValue);
    }
Beispiel #7
0
    public IEnumerator AwaitSpiegel()
    {
        Debug.Log("start coReturnWWW " + Time.frameCount);
        var url = "http://www.spiegel.de";
        Predicate <string> assertion = s => !string.IsNullOrEmpty(s);

        CoRunner.Start(coRunTest(tests.coReturnWWW(url), assertion));
        yield return(Await());
    }
Beispiel #8
0
    void Start()
    {
//		CoRunner.Start(coBasic());
//		CoRunner.Start(tests.coWWW());
        CoRunner.Start(tests.coIEnumerator());
//		CoRunner.Start(coRunImmediate());
//		CoRunner.Start(coMultiYield());
//		CoRunner.Start(coImmediateMultiYield());
    }
Beispiel #9
0
    public IEnumerator coAwaitCanceledResult()
    {
        var x = CoRunner.Start <int>(coReturnInt(5));

        CoRunner.Start(coCancel(1, x));
        yield return(x);

        Debug.Log("done yielding " + Time.frameCount);
        Debug.Log(x.ReturnValue);
    }
Beispiel #10
0
    public IEnumerator coMultiYield()
    {
        var routine = CoRunner.Start(coYieldForFrames(5));

        // make to routines yield on the same ienumerator
        CoRunner.Start(coYieldOn(routine));
        yield return(coYieldOn(routine));

        Debug.Log("finished MultiYield " + CoRunner.FrameCount);
    }
Beispiel #11
0
    public IEnumerator coImmediateMultiYield()
    {
        var routine = CoRunner.Start(coBasic());
        var r2      = CoRunner.Start(coYieldOn(routine));

        yield return(r2);

        yield return(CoRunner.Start(coImmediate()));

        yield return(CoRunner.Start(coImmediate()));
    }
Beispiel #12
0
    public IEnumerator Abort()
    {
        var url = "http://www.spiegel.de";
        var en  = tests.coReturnWWW(url);

        coRunTest(en, 2).Start();
        yield return(null);

        Debug.Log("stop at " + Time.frameCount);
        CoRunner.Stop(en);
        yield return(Await());
    }
Beispiel #13
0
    IEnumerator coRunTest(IEnumerator coTest, int expectedDuration)
    {
        isFinished = false;
        int startFrame = Time.frameCount;

        Debug.Log("start " + coTest + " " + Time.frameCount);
        yield return(CoRunner.Start(coTest));

        Debug.Log(Time.frameCount);
        Assert.AreEqual(startFrame + expectedDuration, Time.frameCount, coTest.ToString());
        isFinished = true;
    }
Beispiel #14
0
// WebRequest is unable to fetch google...
//	[UnityTest]
//	public IEnumerator AwaitGoogle ()
//	{
//		Debug.Log("start coReturnWWW " + Time.frameCount);
//		var url = "http://www.google.de";
//		Predicate<string> assertion = s => !string.IsNullOrEmpty(s);
//
//		CoRunner.Start(coRunTest(tests.coReturnWWW(url), assertion));
//		yield return Await();
//	}

    IEnumerator coRunTest <T> (IEnumerator coTest, Predicate <T> assert)
    {
        isFinished = false;
        Debug.Log("start " + coTest + " " + Time.frameCount);
        var result = CoRunner.Start <T>(coTest);

        yield return(result);

        Debug.Log("finished " + Time.frameCount + (result.ReturnValue == null));
        Assert.True(assert(result.ReturnValue), coTest.ToString());
        isFinished = true;
    }
Beispiel #15
0
    public IEnumerator coImmediateMultiYield()
    {
        var routine = CoRunner.Start(coBasic());
        var r2      = CoRunner.Start(coYieldOn(routine));

        Debug.Log("start " + CoRunner.FrameCount);
        yield return(r2);

        yield return(CoRunner.Start(coImmediate()));

        yield return(CoRunner.Start(coImmediate()));

        Debug.Log("coImmediateMultiYield finished " + CoRunner.FrameCount);
    }
Beispiel #16
0
    IEnumerator coRunTest <T> (IEnumerator coTest, int expectedDuration, T expectedResult)
    {
        isFinished = false;
        int startFrame = Time.frameCount;

        Debug.Log("start " + coTest + " " + Time.frameCount);
        var result = CoRunner.Start <T>(coTest);

        Debug.Log(result);
        yield return(result);

        Debug.Log("finished at " + Time.frameCount);
        Assert.AreEqual(startFrame + expectedDuration, Time.frameCount, coTest.ToString());
        Assert.AreEqual(expectedResult, result.ReturnValue);
        isFinished = true;
    }
Beispiel #17
0
    IEnumerator Start()
    {
        yield return(null);

//		CoRunner.Start(coBasic());
//		CoRunner.Start(tests.coWWW());
//		CoRunner.Start(tests.coIEnumerator());
//		CoRunner.Start(coRunImmediate());
//		CoRunner.Start(coMultiYield());
//		CoRunner.Start(tests.coImmediateMultiYield());
//		CoRunner.Start(tests.coYieldForFrames(10));
//		CoRunner.Start(tests.coAwaitResult());
//		CoRunner.Start(tests.coAwaitCanceledResult());
//		CoRunner.Start(tests.coAwaitNull());
        CoRunner.Start(tests.coStartOnYield());
    }
Beispiel #18
0
 public IEnumerator MultiYield()
 {
     Debug.Log("start coMultiYield " + Time.frameCount);
     CoRunner.Start(coRunTest(tests.coMultiYield(), 5));
     yield return(Await());
 }
Beispiel #19
0
 public static IEnumerator Start(this IEnumerator enumerator)
 {
     return(CoRunner.Start(enumerator));
 }
Beispiel #20
0
 public IEnumerator IEnumerator()
 {
     Debug.Log("start coIEnumerator " + Time.frameCount);
     CoRunner.Start(coRunTest(tests.coIEnumerator(), 1));
     yield return(Await());
 }
Beispiel #21
0
 public IEnumerator RunImmediate()
 {
     Debug.Log("start coRunImmediate " + Time.frameCount);
     CoRunner.Start(coRunTest(tests.coRunImmediate(), 0));
     yield return(Await());
 }
Beispiel #22
0
 public static Wooroutine <T> Start <T> (this IEnumerator enumerator)
 {
     return(CoRunner.Start <T>(enumerator));
 }
Beispiel #23
0
 public static void TestBasic()
 {
     CoRunner.Start(new Tests().coBasic());
 }