HEX
Server: Apache/2.4.46 (Win64) OpenSSL/1.1.1j PHP/8.4.25
System: Windows NT DESKTOP-4TAV2RJ 10.0 build 19045 (Windows 10) AMD64
User: fred (0)
PHP: 8.4.25
Disabled: NONE
Upload Files
File: C:/Users/fred/anaconda3/Lib/site-packages/holoviews/tests/plotting/bokeh/test_streaming.py
import numpy as np

from holoviews.core import DynamicMap
from holoviews.element import Curve
from holoviews.streams import Buffer

from .test_plot import TestBokehPlot, bokeh_renderer


class TestBufferStreamPlot(TestBokehPlot):

    def test_buffer_stream_following(self):
        stream = Buffer(data={'x': np.array([1]), 'y': np.array([1])}, following=True)
        dmap = DynamicMap(Curve, streams=[stream])

        plot = bokeh_renderer.get_plot(dmap)

        x_range = plot.handles['x_range']
        y_range = plot.handles['y_range']

        self.assertEqual(x_range.start, 0)
        self.assertEqual(x_range.end, 2)
        self.assertEqual(y_range.start, 0)
        self.assertEqual(y_range.end, 2)

        stream.send({'x': np.array([2]), 'y': np.array([-1])})

        self.assertEqual(x_range.start, 1)
        self.assertEqual(x_range.end, 2)
        self.assertEqual(y_range.start, -1)
        self.assertEqual(y_range.end, 1)

        stream.following = False

        stream.send({'x': np.array([3]), 'y': np.array([3])})

        self.assertEqual(x_range.start, 1)
        self.assertEqual(x_range.end, 2)
        self.assertEqual(y_range.start, -1)
        self.assertEqual(y_range.end, 1)