public void ToYieldInstruction_ColdObservable_CompletesImmediately() { var size = 5; var observableEnumerator = new TestObservableEnumerator(); var coroutineEnumerator = observableEnumerator.CreateColdObservableCoroutineForSize(size); coroutineEnumerator.MoveNext(); var enumerator = coroutineEnumerator.Current as IEnumerator; Assert.False(enumerator.MoveNext()); Assert.True((bool)enumerator.Current); }
public void ToYieldInstruction_HotObservable_YieldsCurrentUntilObservableCompletes() { var subject = new Subject <bool>(); var observableEnumerator = new TestObservableEnumerator(); var coroutineEnumerator = observableEnumerator.CreateCoroutineEnumeratorFromObservableUsingToYield(subject); coroutineEnumerator.MoveNext(); var enumerator = coroutineEnumerator.Current as IEnumerator; Assert.True(enumerator.MoveNext()); Assert.False((bool)enumerator.Current); subject.OnNext(false); Assert.True(enumerator.MoveNext()); Assert.False((bool)enumerator.Current); subject.OnNext(true); Assert.True(enumerator.MoveNext()); Assert.True((bool)enumerator.Current); subject.OnCompleted(); Assert.False(enumerator.MoveNext()); }