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)
def setUp(self): self.dimstream = PointerX(x=0) self.stream = PointerY(y=0) self.dmap = DynamicMap(lambda x, y, z: Curve([x, y, z]), kdims=['x', 'z'], streams=[self.stream, self.dimstream])