def test_connectable_observable_creation(self): y = [0] s2 = Subject() co2 = ConnectableObservable(Observable.return_value(1), s2) def on_next(x): y[0] = x co2.subscribe(on_next=on_next) self.assertNotEqual(1, y[0]) co2.connect() self.assertEqual(1, y[0])
def test_connectable_observable_connected(self): scheduler = TestScheduler() xs = scheduler.create_hot_observable( on_next(210, 1), on_next(220, 2), on_next(230, 3), on_next(240, 4), on_completed(250) ) subject = MySubject() conn = ConnectableObservable(xs, subject) disconnect = conn.connect() res = scheduler.start(lambda: conn) res.messages.assert_equal( on_next(210, 1), on_next(220, 2), on_next(230, 3), on_next(240, 4), on_completed(250) )
def test_connectable_observable_disconnect_future(self): scheduler = TestScheduler() xs = scheduler.create_hot_observable(on_next(210, 1), on_next(220, 2), on_next(230, 3), on_next(240, 4), on_completed(250)) subject = MySubject() conn = ConnectableObservable(xs, subject) subject.dispose_on(3, conn.connect()) res = scheduler.start(lambda: conn) res.messages.assert_equal(on_next(210, 1), on_next(220, 2), on_next(230, 3))