Exemple #1
0
def check_get_method(operator, input_vector, output_vector):
    input_value, output_value = input_vector[0], output_vector[0]

    p = Publisher()
    p.get = mock.MagicMock(return_value=input_value)
    o = p | operator

    with pytest.raises(ValueError):
        o.emit(input_value, who=None)

    assert o.get() == output_value

    disposable = o.subscribe(Sink())

    if input_value is not NONE:
        o.emit(input_value, who=p)  # simulate emit on subscribe

    p.get = None  # .get should not be called when operator has a subscription

    assert o.get() == output_value  # this should retrieve the internal state

    # after unsubscription it should remove the internal state and retrieve it
    # directly from orignator publisher via get
    disposable.dispose()

    p.get = mock.MagicMock(return_value=input_value)

    assert o.get() == output_value

    p.get.assert_called_once_with()
Exemple #2
0
 def get(self):
     try:
         return self._publisher.get()  # may raise ValueError
     except ValueError:
         if self._state is not NONE:
             return self._state
     Publisher.get(self)  # raises ValueError
Exemple #3
0
def test_reset_state():
    """ Test .reset_state() """
    m = mock.Mock()
    p = Publisher()

    p.subscribe(Sink(m, 1))

    m.assert_not_called()

    # test .reset_state() before and after subscribing
    p.reset_state()
    assert p.get() == NONE

    p.subscribe(Sink(m, 2))

    m.assert_not_called()

    m.reset_mock()

    # test .reset_state() after notify
    p.notify('check')
    assert p.get() == 'check'
    m.assert_has_calls([mock.call(1, 'check'), mock.call(2, 'check')])
    m.reset_mock()

    # test no subscribers get notified
    p.reset_state()
    m.assert_not_called()

    assert p.get() == NONE
Exemple #4
0
 def get(self):
     for publisher in self._publishers:
         try:
             return publisher.get()
         except ValueError:
             pass
     Publisher.get(self)  # raises ValueError
Exemple #5
0
 def get(self):
     selection = self._publisher.get()  # may raises ValueError
     try:
         item = self._mapping[selection]
     except (IndexError, KeyError, TypeError):
         if self._default is NONE:
             Publisher.get(self)  # raises ValueError
         item = self._default
     if isinstance(item, Publisher):
         return item.get()  # may raises ValueError
     return item
Exemple #6
0
    def get(self):
        value = self._publisher.get()  # may raise ValueError

        if self._unpack:
            result = self._function(*value)
        else:
            result = self._function(value)

        if result is NONE:
            Publisher.get(self)  # raises ValueError

        return result
    def get(self):
        # if all publishers are stateful ._state will be defined
        if self._state is not NONE:
            return self._state

        # get value of all publishers
        values = (p.get() for p in self._publishers)  # may raise ValueError

        if not self._map:
            return tuple(values)

        result = self._map(*values)
        if result is NONE:
            Publisher.get(self)  # raises ValueError
        return result
 def get(self):
     queue = list(self._queue)
     value = self._publisher.get()  # may raises ValueError
     queue.append(value)
     if self._size and len(queue) == self._size:
         return tuple(queue)
     return Publisher.get(self)  # raises ValueError
 def get(self):
     if not self._subscriptions:
         if self._emit_partial or self._state.maxlen == 1:
             return (self._publisher.get(), )  # may raises ValueError
     if self._emit_partial or \
             len(self._state) == self._state.maxlen:  # type: ignore
         if self._state:
             return tuple(self._state)
     return Publisher.get(self)  # raises ValueError
Exemple #10
0
def test_get(init):
    """ Testing .get() method """
    # testing .get() after initialisation
    p1 = Publisher(init)
    p2 = Publisher()
    p3 = Publisher(3)

    assert p1.get() is init
    assert p2.get() is NONE
    assert p3.get() is 3

    # testing .get() after notfiy
    p1.notify(1)
    p2.notify(init)
    p3.notify(init)

    assert p1.get() is 1
    assert p2.get() is init
    assert p3.get() is init
 def get(self):
     # .get() is not supported for MapAsync
     Publisher.get(self)  # raises ValueError
Exemple #12
0
 def get(self):
     return Publisher.get(self)  # will raise ValueError
Exemple #13
0
 def get(self):
     if self._state is NONE:
         return Publisher.get(self)
     return self._state
Exemple #14
0
 def get(self):
     value = self._publisher.get()  # may raise ValueError
     if (self._unpack and self._predicate(*value)) or \
             (not self._unpack and self._predicate(value)):
         return value
     return Publisher.get(self)  # raises ValueError
Exemple #15
0
 def get(self):
     value = self._publisher.get()  # may raise ValueError
     if bool(value):
         return value
     return Publisher.get(self)  # raises ValueError
Exemple #16
0
 def get(self):
     return Publisher.get(self)
 def get(self):
     Publisher.get(self)  # raises ValueError
Exemple #18
0
 def get(self):
     Publisher.get(self)
Exemple #19
0
 def get(self):
     if not self._subscriptions:
         return self._publisher.get()  # may raises ValueError
     if self._state is not NONE:
         return self._state
     return Publisher.get(self)  # raises ValueError