Exemple #1
0
    def test_dynamic_stream_transients(self):
        # Ensure Stream reset option resets streams to default value
        # when not triggering
        global xresets, yresets
        xresets, yresets = 0, 0

        def history_callback(x, y, history=deque(maxlen=10)):
            global xresets, yresets
            if x is None:
                xresets += 1
            else:
                history.append(x)
            if y is None:
                yresets += 1

            return Curve(list(history))

        x = PointerX(transient=True)
        y = PointerY(transient=True)
        dmap = DynamicMap(history_callback, kdims=[], streams=[x, y])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])
        y.add_subscriber(lambda **kwargs: dmap[()])

        # Update each stream and count when None default appears
        for i in range(2):
            x.event(x=i)
            y.event(y=i)

        self.assertEqual(xresets, 2)
        self.assertEqual(yresets, 2)
Exemple #2
0
    def test_dynamic_stream_transients(self):
        # Ensure Stream reset option resets streams to default value
        # when not triggering
        global xresets, yresets
        xresets, yresets = 0, 0
        def history_callback(x, y, history=deque(maxlen=10)):
            global xresets, yresets
            if x is None:
                xresets += 1
            else:
                history.append(x)
            if y is None:
                yresets += 1

            return Curve(list(history))

        x = PointerX(transient=True)
        y = PointerY(transient=True)
        dmap = DynamicMap(history_callback, kdims=[], streams=[x, y])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])
        y.add_subscriber(lambda **kwargs: dmap[()])

        # Update each stream and count when None default appears
        for i in range(2):
            x.event(x=i)
            y.event(y=i)

        self.assertEqual(xresets, 2)
        self.assertEqual(yresets, 2)
Exemple #3
0
 def test_stream_callback_single_call(self):
     def history_callback(x, history=deque(maxlen=10)):
         history.append(x)
         return Curve(list(history))
     stream = PointerX(x=0)
     dmap = DynamicMap(history_callback, kdims=[], streams=[stream])
     plot = bokeh_server_renderer.get_plot(dmap)
     bokeh_server_renderer(plot)
     for i in range(20):
         stream.event(x=i)
     data = plot.handles['source'].data
     self.assertEqual(data['x'], np.arange(10))
     self.assertEqual(data['y'], np.arange(10, 20))
 def test_stream_callback_single_call(self):
     def history_callback(x, history=deque(maxlen=10)):
         history.append(x)
         return Curve(list(history))
     stream = PointerX(x=0)
     dmap = DynamicMap(history_callback, kdims=[], streams=[stream])
     plot = plotly_renderer.get_plot(dmap)
     plotly_renderer(plot)
     for i in range(20):
         stream.event(x=i)
     state = plot.state
     self.assertEqual(state['data'][0]['x'], np.arange(10))
     self.assertEqual(state['data'][0]['y'], np.arange(10, 20))
 def test_stream_callback_single_call(self):
     def history_callback(x, history=deque(maxlen=10)):
         history.append(x)
         return Curve(list(history))
     stream = PointerX(x=0)
     dmap = DynamicMap(history_callback, kdims=[], streams=[stream])
     plot = plotly_renderer.get_plot(dmap)
     plotly_renderer(dmap)
     for i in range(20):
         stream.event(x=i)
     state = plot.state
     self.assertEqual(state['data'][0]['x'], np.arange(10))
     self.assertEqual(state['data'][0]['y'], np.arange(10, 20))
 def test_stream_callback_single_call(self):
     def history_callback(x, history=deque(maxlen=10)):
         history.append(x)
         return Curve(list(history))
     stream = PointerX(x=0)
     dmap = DynamicMap(history_callback, kdims=[], streams=[stream])
     plot = bokeh_server_renderer.get_plot(dmap)
     bokeh_server_renderer(plot)
     for i in range(20):
         stream.event(x=i)
     data = plot.handles['source'].data
     self.assertEqual(data['x'], np.arange(10))
     self.assertEqual(data['y'], np.arange(10, 20))
 def test_stream_callback_single_call(self):
     def history_callback(x, history=deque(maxlen=10)):
         history.append(x)
         return Curve(list(history))
     stream = PointerX(x=0)
     dmap = DynamicMap(history_callback, kdims=[], streams=[stream])
     plot = mpl_renderer.get_plot(dmap)
     mpl_renderer(plot)
     for i in range(20):
         plot.state.set_dpi(72)
         stream.event(x=i)
     x, y = plot.handles['artist'].get_data()
     self.assertEqual(x, np.arange(10))
     self.assertEqual(y, np.arange(10, 20))
    def test_stream_callback_single_call(self):
        def history_callback(x, history=deque(maxlen=10)):
            history.append(x)
            return Curve(list(history))

        stream = PointerX(x=0)
        dmap = DynamicMap(history_callback, kdims=[], streams=[stream])
        plot = mpl_renderer.get_plot(dmap)
        mpl_renderer(plot)
        for i in range(20):
            plot.state.set_dpi(72)
            stream.event(x=i)
        x, y = plot.handles['artist'].get_data()
        self.assertEqual(x, np.arange(10))
        self.assertEqual(y, np.arange(10, 20))
Exemple #9
0
    def test_dynamic_callable_disable_callable_memoize(self):
        # Disabling Callable.memoize means no memoization is applied,
        # every access to DynamicMap calls callback and adds sample
        def history_callback(x, history=deque(maxlen=10)):
            history.append(x)
            return Curve(list(history))

        x = PointerX()
        callable_obj = Callable(history_callback, memoize=False)
        dmap = DynamicMap(callable_obj, kdims=[], streams=[x])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])

        for i in range(2):
            x.event(x=1)
        self.assertEqual(dmap[()], Curve([1, 1, 1]))

        for i in range(2):
            x.event(x=2)
        self.assertEqual(dmap[()], Curve([1, 1, 1, 2, 2, 2]))
Exemple #10
0
    def test_dynamic_callable_memoize(self):
        # Always memoized only one of each held
        def history_callback(x, history=deque(maxlen=10)):
            history.append(x)
            return Curve(list(history))

        x = PointerX()
        dmap = DynamicMap(history_callback, kdims=[], streams=[x])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])

        for i in range(2):
            x.event(x=1)

        self.assertEqual(dmap[()], Curve([1]))

        for i in range(2):
            x.event(x=2)

        self.assertEqual(dmap[()], Curve([1, 2]))
Exemple #11
0
    def test_dynamic_callable_disable_callable_memoize(self):
        # Disabling Callable.memoize means no memoization is applied,
        # every access to DynamicMap calls callback and adds sample
        def history_callback(x, history=deque(maxlen=10)):
            history.append(x)
            return Curve(list(history))

        x = PointerX()
        callable_obj = Callable(history_callback, memoize=False)
        dmap = DynamicMap(callable_obj, kdims=[], streams=[x])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])

        for i in range(2):
            x.event(x=1)
        self.assertEqual(dmap[()], Curve([1, 1, 1]))

        for i in range(2):
            x.event(x=2)
        self.assertEqual(dmap[()], Curve([1, 1, 1, 2, 2, 2]))
Exemple #12
0
    def test_dynamic_callable_memoize(self):
        # Always memoized only one of each held
        def history_callback(x, history=deque(maxlen=10)):
            history.append(x)
            return Curve(list(history))

        x = PointerX()
        dmap = DynamicMap(history_callback, kdims=[], streams=[x])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])

        for i in range(2):
            x.event(x=1)

        self.assertEqual(dmap[()], Curve([1]))

        for i in range(2):
            x.event(x=2)

        self.assertEqual(dmap[()], Curve([1, 2]))
Exemple #13
0
    def test_dynamic_callable_stream_transient(self):
        # Enable transient stream meaning memoization only happens when
        # stream is inactive, should have sample for each call to
        # stream.update
        def history_callback(x, history=deque(maxlen=10)):
            if x is not None:
                history.append(x)
            return Curve(list(history))

        x = PointerX(transient=True)
        dmap = DynamicMap(history_callback, kdims=[], streams=[x])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])

        for i in range(2):
            x.event(x=1)
        self.assertEqual(dmap[()], Curve([1, 1]))

        for i in range(2):
            x.event(x=2)

        self.assertEqual(dmap[()], Curve([1, 1, 2, 2]))
Exemple #14
0
    def test_dynamic_callable_stream_transient(self):
        # Enable transient stream meaning memoization only happens when
        # stream is inactive, should have sample for each call to
        # stream.update
        def history_callback(x, history=deque(maxlen=10)):
            if x is not None:
                history.append(x)
            return Curve(list(history))

        x = PointerX(transient=True)
        dmap = DynamicMap(history_callback, kdims=[], streams=[x])

        # Add stream subscriber mocking plot
        x.add_subscriber(lambda **kwargs: dmap[()])

        for i in range(2):
            x.event(x=1)
        self.assertEqual(dmap[()], Curve([1, 1]))

        for i in range(2):
            x.event(x=2)

        self.assertEqual(dmap[()], Curve([1, 1, 2, 2]))