def test_dynamic_compute_overlayable_zorders_three_deep_dynamic_layers_reduced_layers_by_one(self): area = DynamicMap(lambda: Area(range(10)), kdims=[]) area2 = DynamicMap(lambda: Area(range(10)), kdims=[]) curve = DynamicMap(lambda: Curve(range(10)), kdims=[]) curve2 = DynamicMap(lambda: Curve(range(10)), kdims=[]) area_redim = area.redim(x='x2') curve_redim = curve.redim(x='x2') curve2_redim = curve2.redim(x='x3') combined = (area_redim*curve_redim*area2).map(lambda x: x.clone(x.items()[:2]), Overlay) combined1 = combined*curve2_redim combined1[()] sources = compute_overlayable_zorders(combined1) self.assertNotIn(curve_redim, sources[0]) self.assertNotIn(curve, sources[0]) self.assertNotIn(curve2_redim, sources[0]) self.assertNotIn(curve2, sources[0]) self.assertNotIn(area, sources[0]) self.assertNotIn(area_redim, sources[0]) self.assertNotIn(area2, sources[0]) self.assertNotIn(area_redim, sources[1]) self.assertNotIn(area, sources[1]) self.assertNotIn(curve2_redim, sources[1]) self.assertNotIn(curve2, sources[1]) self.assertNotIn(area2, sources[0]) self.assertIn(curve2_redim, sources[2]) self.assertIn(curve2, sources[2]) self.assertNotIn(area_redim, sources[2]) self.assertNotIn(area, sources[2]) self.assertNotIn(area2, sources[0]) self.assertNotIn(curve_redim, sources[2]) self.assertNotIn(curve, sources[2])
def test_dynamic_compute_overlayable_zorders_three_deep_dynamic_layers(self): area = DynamicMap(lambda: Area(range(10)), kdims=[]) curve = DynamicMap(lambda: Curve(range(10)), kdims=[]) curve2 = DynamicMap(lambda: Curve(range(10)), kdims=[]) area_redim = area.redim(x='x2') curve_redim = curve.redim(x='x2') curve2_redim = curve2.redim(x='x3') combined = area_redim*curve_redim combined1 = (combined*curve2_redim) combined1[()] sources = compute_overlayable_zorders(combined1) self.assertIn(area_redim, sources[0]) self.assertIn(area, sources[0]) self.assertNotIn(curve_redim, sources[0]) self.assertNotIn(curve, sources[0]) self.assertNotIn(curve2_redim, sources[0]) self.assertNotIn(curve2, sources[0]) self.assertIn(curve_redim, sources[1]) self.assertIn(curve, sources[1]) self.assertNotIn(area_redim, sources[1]) self.assertNotIn(area, sources[1]) self.assertNotIn(curve2_redim, sources[1]) self.assertNotIn(curve2, sources[1]) self.assertIn(curve2_redim, sources[2]) self.assertIn(curve2, sources[2]) self.assertNotIn(area_redim, sources[2]) self.assertNotIn(area, sources[2]) self.assertNotIn(curve_redim, sources[2]) self.assertNotIn(curve, sources[2])
def test_compute_overlayable_zorders_with_overlaid_holomap(self): points = Points([]) hmap = HoloMap({0: points}) curve = Curve([]) combined = hmap*curve sources = compute_overlayable_zorders(combined) self.assertEqual(sources[0], [points, combined.last, combined])
def test_dynamic_compute_overlayable_zorders_three_deep_dynamic_layers_cloned(self): area = DynamicMap(lambda: Area(range(10)), kdims=[]) curve = DynamicMap(lambda: Curve(range(10)), kdims=[]) curve2 = DynamicMap(lambda: Curve(range(10)), kdims=[]) area_redim = area.redim(x='x2') curve_redim = curve.redim(x='x2') curve2_redim = curve2.redim(x='x3') combined = area_redim*curve_redim combined1 = (combined*curve2_redim).redim(y='y2') combined1[()] sources = compute_overlayable_zorders(combined1) self.assertIn(area_redim, sources[0]) self.assertIn(area, sources[0]) self.assertNotIn(curve_redim, sources[0]) self.assertNotIn(curve, sources[0]) self.assertNotIn(curve2_redim, sources[0]) self.assertNotIn(curve2, sources[0]) self.assertIn(curve_redim, sources[1]) self.assertIn(curve, sources[1]) self.assertNotIn(area_redim, sources[1]) self.assertNotIn(area, sources[1]) self.assertNotIn(curve2_redim, sources[1]) self.assertNotIn(curve2, sources[1]) self.assertIn(curve2_redim, sources[2]) self.assertIn(curve2, sources[2]) self.assertNotIn(area_redim, sources[2]) self.assertNotIn(area, sources[2]) self.assertNotIn(curve_redim, sources[2]) self.assertNotIn(curve, sources[2])
def test_dynamic_compute_overlayable_zorders_two_dynamic_layers(self): area = DynamicMap(lambda: Area(range(10)), kdims=[]) dmap = DynamicMap(lambda: Curve(range(10)), kdims=[]) combined = area*dmap combined[()] sources = compute_overlayable_zorders(combined) self.assertEqual(sources[0], [area]) self.assertEqual(sources[1], [dmap])
def test_dynamic_compute_overlayable_zorders_two_deep_dynamic_layers(self): area = DynamicMap(lambda: Area(range(10)), kdims=[]) curve = DynamicMap(lambda: Curve(range(10)), kdims=[]) area_redim = area.redim(x='x2') curve_redim = curve.redim(x='x2') combined = area_redim*curve_redim combined[()] sources = compute_overlayable_zorders(combined) self.assertIn(area_redim, sources[0]) self.assertIn(area, sources[0]) self.assertNotIn(curve_redim, sources[0]) self.assertNotIn(curve, sources[0]) self.assertIn(curve_redim, sources[1]) self.assertIn(curve, sources[1]) self.assertNotIn(area_redim, sources[1]) self.assertNotIn(area, sources[1])
def test_dynamic_compute_overlayable_zorders_mixed_dynamic_and_dynamic_ndoverlay_with_streams_cloned(self): ndoverlay = DynamicMap(lambda x: NdOverlay({i: Area(range(10+i)) for i in range(2)}), kdims=[], streams=[PointerX()]) curve = DynamicMap(lambda: Curve(range(10)), kdims=[]) curve_redim = curve.redim(x='x2') combined = ndoverlay*curve_redim combined[()] sources = compute_overlayable_zorders(combined.clone()) self.assertIn(ndoverlay, sources[0]) self.assertNotIn(curve_redim, sources[0]) self.assertNotIn(curve, sources[0]) self.assertIn(ndoverlay, sources[1]) self.assertNotIn(curve_redim, sources[1]) self.assertNotIn(curve, sources[1]) self.assertIn(curve_redim, sources[2]) self.assertIn(curve, sources[2]) self.assertNotIn(ndoverlay, sources[2])
def test_dynamic_compute_overlayable_zorders_mixed_dynamic_and_non_dynamic_ndoverlays_reverse(self): ndoverlay = NdOverlay({i: Area(range(10+i)) for i in range(2)}) curve = DynamicMap(lambda: Curve(range(10)), kdims=[]) curve_redim = curve.redim(x='x2') combined = curve_redim*ndoverlay combined[()] sources = compute_overlayable_zorders(combined) self.assertIn(curve_redim, sources[0]) self.assertIn(curve, sources[0]) self.assertNotIn(ndoverlay, sources[0]) self.assertIn(ndoverlay[0], sources[1]) self.assertIn(ndoverlay, sources[1]) self.assertNotIn(curve_redim, sources[1]) self.assertNotIn(curve, sources[1]) self.assertIn(ndoverlay[1], sources[2]) self.assertIn(ndoverlay, sources[2]) self.assertNotIn(curve_redim, sources[2]) self.assertNotIn(curve, sources[2])
def test_dynamic_compute_overlayable_zorders_mixed_dynamic_and_non_dynamic_overlays_reverse(self): area1 = Area(range(10)) area2 = Area(range(10)) overlay = area1 * area2 curve = DynamicMap(lambda: Curve(range(10)), kdims=[]) curve_redim = curve.redim(x='x2') combined = curve_redim*overlay combined[()] sources = compute_overlayable_zorders(combined) self.assertIn(curve_redim, sources[0]) self.assertIn(curve, sources[0]) self.assertNotIn(overlay, sources[0]) self.assertIn(area1, sources[1]) self.assertIn(overlay, sources[1]) self.assertNotIn(curve_redim, sources[1]) self.assertNotIn(curve, sources[1]) self.assertIn(area2, sources[2]) self.assertIn(overlay, sources[2]) self.assertNotIn(curve_redim, sources[2]) self.assertNotIn(curve, sources[2])
def test_compute_overlayable_zorders_holomap(self): hmap = HoloMap({0: Points([])}) sources = compute_overlayable_zorders(hmap) self.assertEqual(sources[0], [hmap, hmap.last])