def test_immediate_scheduleaction(self):
        scheduler = ImmediateScheduler()
        ran = [False]

        def action(scheduler, state=None):
            ran[0] = True

        scheduler.schedule(action)
        assert ran[0]
Beispiel #2
0
    def test_immediate_scheduleaction(self):
        scheduler = ImmediateScheduler()
        ran = [False]

        def action(scheduler, state=None):
            ran[0] = True

        scheduler.schedule(action)
        assert ran[0]
Beispiel #3
0
    def test_immediate_simple1(self):
        scheduler = ImmediateScheduler()
        xx = [0]

        def action(scheduler, state=None):
            xx[0] = state
            return Disposable.empty()

        scheduler.schedule(action, 42)
        assert xx[0] == 42
    def test_immediate_simple1(self):
        scheduler = ImmediateScheduler()
        xx = [0]

        def action(scheduler, state=None):
            xx[0] = state
            return Disposable.empty()

        scheduler.schedule(action, 42)
        assert xx[0] == 42
    def test_immediate_simple2(self):
        scheduler = ImmediateScheduler()
        xx = [0]

        def action(scheduler, state=None):
             xx[0] = state
             return Disposable.empty()

        scheduler.schedule_absolute(datetime.utcnow(), action, 42)
        assert xx[0] == 42
Beispiel #6
0
def test_immediate_scheduleaction():
    scheduler = ImmediateScheduler()
    ran = False

    def action(scheduler, state=None):
        nonlocal ran
        ran = True

    scheduler.schedule(action)
    assert ran
    def test_immediate_simple3(self):
        scheduler = ImmediateScheduler()
        xx = [0]

        def action(scheduler, state=None):
             xx[0] = state
             return Disposable.empty()

        scheduler.schedule_relative(timedelta(0), action, 42)
        assert xx[0] == 42
Beispiel #8
0
    def test_immediate_simple3(self):
        scheduler = ImmediateScheduler()
        xx = [0]

        def action(scheduler, state=None):
            xx[0] = state
            return Disposable.empty()

        scheduler.schedule_relative(timedelta(0), action, 42)
        assert xx[0] == 42
def test_immediate_scheduleaction():
    scheduler = ImmediateScheduler()
    ran = False;

    def action(scheduler, state=None):
        nonlocal ran
        ran = True

    scheduler.schedule(action)
    assert ran
Beispiel #10
0
    def test_immediate_simple2(self):
        scheduler = ImmediateScheduler()
        xx = [0]

        def action(scheduler, state=None):
            xx[0] = state
            return Disposable.empty()

        scheduler.schedule_absolute(datetime.utcnow(), action, 42)
        assert xx[0] == 42
def test_immediate_simple3():
    scheduler = ImmediateScheduler()
    xx = 0
    
    def action(scheduler, state=None):
         nonlocal xx
         xx = state
         return Disposable.empty()

    scheduler.schedule_relative(timedelta(0), action, 42);
    assert xx == 42
Beispiel #12
0
def test_immediate_simple2():
    scheduler = ImmediateScheduler()
    xx = 0

    def action(scheduler, state=None):
        nonlocal xx
        xx = state
        return Disposable.empty()

    scheduler.schedule_absolute(datetime.utcnow(), action, 42)
    assert xx == 42
Beispiel #13
0
def test_immediate_simple1():
    scheduler = ImmediateScheduler()
    xx = 0

    def action(scheduler, state=None):
        nonlocal xx
        xx = state
        return Disposable.empty()

    scheduler.schedule(action, 42)
    assert xx == 42
    def test_immediate_simple3(self):
        scheduler = ImmediateScheduler()
        xx = 0

        def action(scheduler, state=None):
            nonlocal xx
            xx = state
            return Disposable()

        scheduler.schedule_relative(DELTA_ZERO, action, 42)
        assert xx == 42
    def test_immediate_simple2(self):
        scheduler = ImmediateScheduler()
        xx = 0

        def action(scheduler, state=None):
            nonlocal xx
            xx = state
            return Disposable()

        scheduler.schedule_absolute(default_now(), action, 42)
        assert xx == 42
    def test_immediate_schedule_action_error(self):
        scheduler = ImmediateScheduler()

        class MyException(Exception):
            pass

        def action(scheduler, state=None):
            raise MyException()

        with pytest.raises(MyException):
            return scheduler.schedule(action)
def test_immediate_simple2():
    scheduler = ImmediateScheduler()
    xx = 0
    
    def action(scheduler, state=None):
         nonlocal xx
         xx = state
         return Disposable.empty()

    scheduler.schedule_absolute(datetime.utcnow(), action, 42);
    assert xx == 42
Beispiel #18
0
def test_immediate_simple3():
    scheduler = ImmediateScheduler()
    xx = 0

    def action(scheduler, state=None):
        nonlocal xx
        xx = state
        return Disposable.empty()

    scheduler.schedule_relative(timedelta(0), action, 42)
    assert xx == 42
def test_immediate_simple1():
    scheduler = ImmediateScheduler()
    xx = 0

    def action(scheduler, state=None):
        nonlocal xx
        xx = state
        return Disposable.empty()

    scheduler.schedule(action, 42)
    assert xx == 42
    def test_immediate_schedule_action_due_error(self):
        scheduler = ImmediateScheduler()
        ran = False

        def action(scheduler, state=None):
            nonlocal ran
            ran = True

        with pytest.raises(WouldBlockException):
            scheduler.schedule_relative(0.1, action)

        assert ran is False
    def test_immediate_schedule_action_error(self):
        scheduler = ImmediateScheduler()

        class MyException(Exception):
            pass

        def action(scheduler, state=None):
            raise MyException()

        try:
            return scheduler.schedule(action)
        except MyException:
            assert True
Beispiel #22
0
    def test_immediate_schedule_action_error(self):
        scheduler = ImmediateScheduler()

        class MyException(Exception):
            pass

        def action(scheduler, state=None):
            raise MyException()

        try:
            return scheduler.schedule(action)
        except MyException:
            assert True
Beispiel #23
0
    def test_observe_on_forward_subscribe_scheduler(self):
        scheduler = ImmediateScheduler()
        expected_subscribe_scheduler = ImmediateScheduler()

        actual_subscribe_scheduler = None

        def subscribe(observer, scheduler):
            nonlocal actual_subscribe_scheduler
            actual_subscribe_scheduler = scheduler
            observer.on_completed()

        xs = rx.create(subscribe)

        xs.pipe(ops.observe_on(scheduler)).subscribe(
            scheduler=expected_subscribe_scheduler)

        assert expected_subscribe_scheduler == actual_subscribe_scheduler
Beispiel #24
0
    def test_immediate_recursive1(self):
        scheduler = ImmediateScheduler()
        xx = [0]
        yy = [0]

        def action(scheduler, x=None):
            xx[0] = x

            def inner_action(scheduler, y):
                yy[0] = y
                return Disposable.empty()

            return scheduler.schedule(inner_action, 43)

        scheduler.schedule(action, 42)
        assert xx[0] == 42
        assert yy[0] == 43
    def test_immediate_recursive1(self):
        scheduler = ImmediateScheduler()
        xx = [0]
        yy = [0]

        def action(scheduler, x=None):
            xx[0] = x

            def inner_action(scheduler, y):
                yy[0] = y
                return Disposable.empty()

            return scheduler.schedule(inner_action, 43)

        scheduler.schedule(action, 42)
        assert xx[0] == 42
        assert yy[0] == 43
Beispiel #26
0
    def test_immediate_recursive2(self):
        scheduler = ImmediateScheduler()
        xx = [0]
        yy = [0]

        def action(scheduler, state=None):
            xx[0] = state

            def inner_action(scheduler, state=None):
                yy[0] = state
                return Disposable()

            return scheduler.schedule_absolute(datetime.utcnow(), inner_action, 43)

        scheduler.schedule_absolute(datetime.utcnow(), action, 42)

        assert xx[0] == 42
        assert yy[0] == 43
Beispiel #27
0
    def test_immediate_recursive3(self):
        scheduler = ImmediateScheduler()
        xx = [0]
        yy = [0]

        def action(scheduler, state=None):
            xx[0] = state

            def inner_action(scheduler, state):
                yy[0] = state
                return Disposable.empty()

            return scheduler.schedule_relative(timedelta(0), inner_action, 43)

        scheduler.schedule_relative(timedelta(0), action, 42)

        assert xx[0] == 42
        assert yy[0] == 43
    def test_immediate_recursive2(self):
        scheduler = ImmediateScheduler()
        xx = [0]
        yy = [0]

        def action(scheduler, state=None):
            xx[0] = state

            def inner_action(scheduler, state=None):
                yy[0] = state
                return Disposable.empty()

            return scheduler.schedule_absolute(datetime.utcnow(), inner_action, 43)

        scheduler.schedule_absolute(datetime.utcnow(), action, 42)

        assert xx[0] == 42
        assert yy[0] == 43
    def test_immediate_recursive3(self):
        scheduler = ImmediateScheduler()
        xx = [0]
        yy = [0]

        def action(scheduler, state=None):
            xx[0] = state

            def inner_action(scheduler, state):
                yy[0] = state
                return Disposable.empty()

            return scheduler.schedule_relative(timedelta(0), inner_action, 43)

        scheduler.schedule_relative(timedelta(0), action, 42)

        assert xx[0] == 42
        assert yy[0] == 43
    def test_immediate_recursive1(self):
        scheduler = ImmediateScheduler()
        xx = 0
        yy = 0

        def action(scheduler, state=None):
            nonlocal xx
            xx = state

            def inner_action(scheduler, state=None):
                nonlocal yy
                yy = state
                return Disposable()

            return scheduler.schedule(inner_action, 43)

        scheduler.schedule(action, 42)
        assert xx == 42
        assert yy == 43
Beispiel #31
0
def test_immediate_recursive3():
    scheduler = ImmediateScheduler()
    xx = 0
    yy = 0

    def action(scheduler, state=None):
        nonlocal xx
        xx = state

        def inner_action(scheduler, state):
            nonlocal yy
            yy = state
            return Disposable.empty()

        return scheduler.schedule_relative(timedelta(0), inner_action, 43)

    scheduler.schedule_relative(timedelta(0), action, 42)

    assert xx == 42
    assert yy == 43
Beispiel #32
0
def test_immediate_recursive1():
    scheduler = ImmediateScheduler()
    xx = 0
    yy = 0

    def action(scheduler, x=None):
        nonlocal xx

        xx = x

        def inner_action(scheduler, y):
            nonlocal yy
            yy = y
            return Disposable.empty()

        return scheduler.schedule(inner_action, 43)

    scheduler.schedule(action, 42)
    assert xx == 42
    assert yy == 43
Beispiel #33
0
def test_immediate_recursive2():
    scheduler = ImmediateScheduler()
    xx = 0
    yy = 0

    def action(scheduler, state=None):
        nonlocal xx
        xx = state

        def inner_action(scheduler, state=None):
            nonlocal yy
            yy = state
            return Disposable.empty()

        return scheduler.schedule_absolute(datetime.utcnow(), inner_action, 43)

    scheduler.schedule_absolute(datetime.utcnow(), action, 42)

    assert xx == 42
    assert yy == 43
def test_immediate_recursive2():
    scheduler = ImmediateScheduler()
    xx = 0
    yy = 0
    
    def action(scheduler, state=None):
        nonlocal xx
        xx = state
        
        def inner_action(scheduler, state=None):
            nonlocal yy
            yy = state
            return Disposable.empty()

        return scheduler.schedule_absolute(datetime.utcnow(), inner_action, 43)

    scheduler.schedule_absolute(datetime.utcnow(), action, 42) 

    assert xx == 42
    assert yy == 43
def test_immediate_recursive1():
    scheduler = ImmediateScheduler()
    xx = 0
    yy = 0
    
    def action(scheduler, x=None):
        nonlocal xx
        
        xx = x
        
        def inner_action(scheduler, y):
            nonlocal yy
            yy = y
            return Disposable.empty()
        
        return scheduler.schedule(inner_action, 43) 

    scheduler.schedule(action, 42)
    assert xx == 42
    assert yy == 43
def test_immediate_recursive3():
    scheduler = ImmediateScheduler()
    xx = 0
    yy = 0

    def action(scheduler, state=None):
        nonlocal xx
        xx = state

        def inner_action(scheduler, state):
            nonlocal yy
            yy = state
            return Disposable.empty()

        return scheduler.schedule_relative(timedelta(0), inner_action, 43)
    
    scheduler.schedule_relative(timedelta(0), action, 42) 
    
    
    assert xx == 42
    assert yy == 43
 def test_immediate_now(self):
     scheduler = ImmediateScheduler()
     diff = scheduler.now - default_now()
     assert abs(diff) < timedelta(milliseconds=1)
 def test_immediate_now(self):
     scheduler = ImmediateScheduler()
     res = scheduler.now() - datetime.utcnow()
     assert res < timedelta(milliseconds=1000)
Beispiel #39
0
import rx
from rx.concurrency import NewThreadScheduler, ThreadPoolScheduler, ImmediateScheduler

observable = rx.from_list([2, 3, 5])

observable.subscribe(lambda v: print('Lambda1 Received', v),
                     scheduler=ThreadPoolScheduler(3))
observable.subscribe(lambda v: print('Lambda2 Received', v),
                     scheduler=ImmediateScheduler())
observable.subscribe(lambda v: print('Lambda3 Received', v),
                     scheduler=NewThreadScheduler())

# As the observable runs in a separate thread we need
# to ensure that the main thread does not terminate
input('Press enter to finish')
 def test_immediate_now_units(self):
     scheduler = ImmediateScheduler()
     diff = scheduler.now
     sleep(0.1)
     diff = scheduler.now - diff
     assert timedelta(milliseconds=80) < diff < timedelta(milliseconds=180)
Beispiel #41
0
 def test_immediate_now(self):
     scheduler = ImmediateScheduler()
     res = scheduler.now - datetime.utcnow()
     assert res < timedelta(milliseconds=1000)