def test_deep_map_transform_element_type(self): fn = lambda i: Curve(np.arange(i)) dmap = DynamicMap(fn, kdims=[Dimension('Test', range=(10, 20))]) dmap[10] mapped = dmap.map(lambda x: Scatter(x), Curve) area = mapped[11] self.assertEqual(area, Scatter(fn(11)))
def test_deep_map_transform_element_type(self): fn = lambda i: Curve(np.arange(i)) dmap = DynamicMap(fn, kdims=[Dimension('Test', range=(10, 20))]) dmap[10] mapped = dmap.map(lambda x: Scatter(x), Curve) area = mapped[11] self.assertEqual(area, Scatter(fn(11)))
class DynamicTransferStreams(ComparisonTestCase): 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]) def test_dynamic_redim_inherits_streams(self): redimmed = self.dmap.redim.range(z=(0, 5)) self.assertEqual(redimmed.streams, self.dmap.streams) def test_dynamic_relabel_inherits_streams(self): relabelled = self.dmap.relabel(label='Test') self.assertEqual(relabelled.streams, self.dmap.streams) def test_dynamic_map_inherits_streams(self): mapped = self.dmap.map(lambda x: x, Curve) self.assertEqual(mapped.streams, self.dmap.streams) def test_dynamic_select_inherits_streams(self): selected = self.dmap.select(Curve, x=(0, 5)) self.assertEqual(selected.streams, self.dmap.streams) def test_dynamic_hist_inherits_streams(self): hist = self.dmap.hist(adjoin=False) self.assertEqual(hist.streams, self.dmap.streams) def test_dynamic_mul_inherits_dim_streams(self): hist = self.dmap * self.dmap self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_inherits_dim_streams(self): hist = Dynamic(self.dmap) self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_parameterized_method(self): class Test(param.Parameterized): label = param.String(default='test') @param.depends('label') def apply_label(self, obj): return obj.relabel(self.label) test = Test() dmap = Dynamic(self.dmap, operation=test.apply_label) test.label = 'custom label' self.assertEqual(dmap[(0, 3)].label, 'custom label') def test_dynamic_util_inherits_dim_streams_clash(self): exception = (r"The supplied stream objects PointerX\(x=None\) and " r"PointerX\(x=0\) clash on the following parameters: \['x'\]") with self.assertRaisesRegex(Exception, exception): Dynamic(self.dmap, streams=[PointerX]) def test_dynamic_util_inherits_dim_streams_clash_dict(self): exception = (r"The supplied stream objects PointerX\(x=None\) and " r"PointerX\(x=0\) clash on the following parameters: \['x'\]") with self.assertRaisesRegex(Exception, exception): Dynamic(self.dmap, streams=dict(x=PointerX.param.x))
class DynamicTransferStreams(ComparisonTestCase): 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]) def test_dynamic_redim_inherits_streams(self): redimmed = self.dmap.redim.range(z=(0, 5)) self.assertEqual(redimmed.streams, self.dmap.streams) def test_dynamic_relabel_inherits_streams(self): relabelled = self.dmap.relabel(label='Test') self.assertEqual(relabelled.streams, self.dmap.streams) def test_dynamic_map_inherits_streams(self): mapped = self.dmap.map(lambda x: x, Curve) self.assertEqual(mapped.streams, self.dmap.streams) def test_dynamic_select_inherits_streams(self): selected = self.dmap.select(Curve, x=(0, 5)) self.assertEqual(selected.streams, self.dmap.streams) def test_dynamic_hist_inherits_streams(self): hist = self.dmap.hist(adjoin=False) self.assertEqual(hist.streams, self.dmap.streams) def test_dynamic_mul_inherits_dim_streams(self): hist = self.dmap * self.dmap self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_inherits_dim_streams(self): hist = Dynamic(self.dmap) self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_parameterized_method(self): class Test(param.Parameterized): label = param.String(default='test') @param.depends('label') def apply_label(self, obj): return obj.relabel(self.label) test = Test() dmap = Dynamic(self.dmap, operation=test.apply_label) test.label = 'custom label' self.assertEqual(dmap[(0, 3)].label, 'custom label') def test_dynamic_util_inherits_dim_streams_clash(self): exception = ("The supplied stream objects PointerX\(x=None\) and " "PointerX\(x=0\) clash on the following parameters: \['x'\]") with self.assertRaisesRegexp(Exception, exception): Dynamic(self.dmap, streams=[PointerX])
class DynamicTransferStreams(ComparisonTestCase): 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]) def test_dynamic_redim_inherits_streams(self): redimmed = self.dmap.redim.range(z=(0, 5)) self.assertEqual(redimmed.streams, self.dmap.streams) def test_dynamic_relabel_inherits_streams(self): relabelled = self.dmap.relabel(label='Test') self.assertEqual(relabelled.streams, self.dmap.streams) def test_dynamic_map_inherits_streams(self): mapped = self.dmap.map(lambda x: x, Curve) self.assertEqual(mapped.streams, self.dmap.streams) def test_dynamic_select_inherits_streams(self): selected = self.dmap.select(Curve, x=(0, 5)) self.assertEqual(selected.streams, self.dmap.streams) def test_dynamic_hist_inherits_streams(self): hist = self.dmap.hist(adjoin=False) self.assertEqual(hist.streams, self.dmap.streams) def test_dynamic_mul_inherits_dim_streams(self): hist = self.dmap * self.dmap self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_inherits_dim_streams(self): hist = Dynamic(self.dmap) self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_inherits_dim_streams_clash(self): exception = ( "The supplied stream objects PointerX\(x=None\) and " "PointerX\(x=0\) clash on the following parameters: \['x'\]") with self.assertRaisesRegexp(Exception, exception): Dynamic(self.dmap, streams=[PointerX])
class DynamicTransferStreams(ComparisonTestCase): 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]) def test_dynamic_redim_inherits_streams(self): redimmed = self.dmap.redim.range(z=(0, 5)) self.assertEqual(redimmed.streams, self.dmap.streams) def test_dynamic_relabel_inherits_streams(self): relabelled = self.dmap.relabel(label='Test') self.assertEqual(relabelled.streams, self.dmap.streams) def test_dynamic_map_inherits_streams(self): mapped = self.dmap.map(lambda x: x, Curve) self.assertEqual(mapped.streams, self.dmap.streams) def test_dynamic_select_inherits_streams(self): selected = self.dmap.select(Curve, x=(0, 5)) self.assertEqual(selected.streams, self.dmap.streams) def test_dynamic_hist_inherits_streams(self): hist = self.dmap.hist(adjoin=False) self.assertEqual(hist.streams, self.dmap.streams) def test_dynamic_mul_inherits_dim_streams(self): hist = self.dmap * self.dmap self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_inherits_dim_streams(self): hist = Dynamic(self.dmap) self.assertEqual(hist.streams, self.dmap.streams[1:]) def test_dynamic_util_inherits_dim_streams_clash(self): exception = ("The supplied stream objects PointerX\(x=None\) and " "PointerX\(x=0\) clash on the following parameters: \['x'\]") with self.assertRaisesRegexp(Exception, exception): Dynamic(self.dmap, streams=[PointerX])
class TestSplitDynamicMapOverlay(ComparisonTestCase): """ Tests the split_dmap_overlay utility """ def setUp(self): self.dmap_element = DynamicMap(lambda: Image([])) self.dmap_overlay = DynamicMap(lambda: Overlay([Curve([]), Points([])])) self.dmap_ndoverlay = DynamicMap(lambda: NdOverlay({0: Curve([]), 1: Curve([])})) self.element = Scatter([]) self.el1, self.el2 = Path([]), HLine(0) self.overlay = Overlay([self.el1, self.el2]) self.ndoverlay = NdOverlay({0: VectorField([]), 1: VectorField([])}) def test_dmap_ndoverlay(self): test = self.dmap_ndoverlay initialize_dynamic(test) layers = [self.dmap_ndoverlay, self.dmap_ndoverlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_overlay(self): test = self.dmap_overlay initialize_dynamic(test) layers = [self.dmap_overlay, self.dmap_overlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_element_mul_dmap_overlay(self): test = self.dmap_element * self.dmap_overlay initialize_dynamic(test) layers = [self.dmap_element, self.dmap_overlay, self.dmap_overlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_element_mul_dmap_ndoverlay(self): test = self.dmap_element * self.dmap_ndoverlay initialize_dynamic(test) layers = [self.dmap_element, self.dmap_ndoverlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_element_mul_element(self): test = self.dmap_element * self.element initialize_dynamic(test) layers = [self.dmap_element, self.element] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_element_mul_overlay(self): test = self.dmap_element * self.overlay initialize_dynamic(test) layers = [self.dmap_element, self.el1, self.el2] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_element_mul_ndoverlay(self): test = self.dmap_element * self.ndoverlay initialize_dynamic(test) layers = [self.dmap_element, self.ndoverlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_overlay_mul_dmap_ndoverlay(self): test = self.dmap_overlay * self.dmap_ndoverlay initialize_dynamic(test) layers = [self.dmap_overlay, self.dmap_overlay, self.dmap_ndoverlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_overlay_mul_element(self): test = self.dmap_overlay * self.element initialize_dynamic(test) layers = [self.dmap_overlay, self.dmap_overlay, self.element] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_overlay_mul_overlay(self): test = self.dmap_overlay * self.overlay initialize_dynamic(test) layers = [self.dmap_overlay, self.dmap_overlay, self.el1, self.el2] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_all_combinations(self): test = (self.dmap_overlay * self.element * self.dmap_ndoverlay * self.overlay * self.dmap_element * self.ndoverlay) initialize_dynamic(test) layers = [self.dmap_overlay, self.dmap_overlay, self.element, self.dmap_ndoverlay, self.el1, self.el2, self.dmap_element, self.ndoverlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_overlay_operation_mul_dmap_ndoverlay(self): mapped = operation(self.dmap_overlay) test = mapped * self.dmap_ndoverlay initialize_dynamic(test) layers = [mapped, mapped, self.dmap_ndoverlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_overlay_linked_operation_mul_dmap_ndoverlay(self): mapped = operation(self.dmap_overlay, link_inputs=True) test = mapped * self.dmap_ndoverlay initialize_dynamic(test) layers = [mapped, mapped, self.dmap_ndoverlay] self.assertEqual(split_dmap_overlay(test), layers) def test_dmap_overlay_linked_operation_mul_dmap_element_ndoverlay(self): mapped = self.dmap_overlay.map(lambda x: x.get(0), Overlay) test = mapped * self.element * self.dmap_ndoverlay initialize_dynamic(test) layers = [mapped, self.element, self.dmap_ndoverlay] self.assertEqual(split_dmap_overlay(test), layers)
def test_deep_map_apply_element_function(self): fn = lambda i: Curve(np.arange(i)) dmap = DynamicMap(fn, kdims=[Dimension('Test', range=(10, 20))]) mapped = dmap.map(lambda x: x.clone(x.data * 2), Curve) curve = fn(10) self.assertEqual(mapped[10], curve.clone(curve.data * 2))
def test_deep_map_apply_element_function(self): fn = lambda i: Curve(np.arange(i)) dmap = DynamicMap(fn, kdims=[Dimension('Test', range=(10, 20))]) mapped = dmap.map(lambda x: x.clone(x.data*2), Curve) curve = fn(10) self.assertEqual(mapped[10], curve.clone(curve.data*2))