/** * @test */ public function the_returned_disposable_disposes() { $disposed = false; $observable = new AnonymousObservable(function () use(&$disposed) { return new CallbackDisposable(function () use(&$disposed) { $disposed = true; }); }); $observerMock = $this->getMock('Rx\\ObserverInterface'); $disposable = $observable->subscribe($observerMock); $disposable->dispose(); $this->assertTrue($disposed); }
public function testAsObservableIsNotEager() { $subscribed = false; $xs = new AnonymousObservable(function ($obs) use(&$subscribed) { $subscribed = true; $disp = $this->createHotObservable([onNext(150, 1), onNext(220, 2), onCompleted(250)])->subscribe($obs); return new CallbackDisposable(function () use($disp) { return $disp->dispose(); }); }); $xs->asObservable(); $this->assertTrue(!$subscribed); $this->scheduler->startWithCreate(function () use($xs) { return $xs->asObservable(); }); $this->assertTrue($subscribed); }