def test_idxmapping_redim(self): data = [((0, 0.5), 'a'), ((1, 0.5), 'b')] ndmap = MultiDimensionalMapping(data, kdims=[self.dim1, self.dim2]) redimmed = ndmap.redim(intdim='Integer') self.assertEqual( redimmed.kdims, [Dimension('Integer'), Dimension('floatdim')])
def test_idxmapping_add_dimension(self): ndmap = MultiDimensionalMapping(self.init_items_1D_list, kdims=[self.dim1]) ndmap2d = ndmap.add_dimension(self.dim2, 0, 0.5) self.assertEqual(list(ndmap2d.keys()), [(0.5, 1), (0.5, 5)]) self.assertEqual(ndmap2d.kdims, [self.dim2, self.dim1])
def test_idxmapping_groupby_unsorted(self): data = [(('B', 2), 1), (('C', 2), 2), (('A', 1), 3)] grouped = MultiDimensionalMapping(data, sort=False, kdims=['X', 'Y']).groupby('Y') self.assertEquals(grouped.keys(), [1, 2]) self.assertEquals(grouped.values()[0].keys(), ['A']) self.assertEquals(grouped.last.keys(), ['B', 'C'])
def test_setitem_nested_2(self): nested1 = MultiDimensionalMapping([('B', 1)]) ndmap = MultiDimensionalMapping([('A', nested1)]) nested2 = MultiDimensionalMapping([('C', 2)]) nested_clone = nested1.clone() nested_clone.update(nested2) ndmap.update({'A': nested2}) self.assertEqual(ndmap['A'].data, nested_clone.data)
def test_idxmapping_reindex(self): data = [((0, 0.5), 'a'), ((1, 0.5), 'b')] ndmap = MultiDimensionalMapping(data, key_dimensions=[self.dim1, self.dim2]) reduced_dims = ['intdim'] reduced_ndmap = ndmap.reindex(reduced_dims) self.assertEqual([d.name for d in reduced_ndmap.key_dimensions], reduced_dims)
def test_idxmapping_reindex(self): data = [((0, 0.5), 'a'), ((1, 0.5), 'b')] ndmap = MultiDimensionalMapping(data, kdims=[self.dim1, self.dim2]) reduced_dims = ['intdim'] reduced_ndmap = ndmap.reindex(reduced_dims) self.assertEqual([d.name for d in reduced_ndmap.kdims], reduced_dims)
def test_setitem_nested_2(self): nested1 = MultiDimensionalMapping([('B', 1)]) ndmap = MultiDimensionalMapping([('A', nested1)]) nested2 = MultiDimensionalMapping([('C', 2)]) nested_clone = nested1.clone() nested_clone.update(nested2) ndmap.update({'A': nested2}) self.assertEqual(ndmap['A'].data, nested_clone.data)
def test_idxmapping_nested_update(self): data1 = [(0, 'a'), (1, 'b')] data2 = [(2, 'c'), (3, 'd')] data3 = [(2, 'e'), (3, 'f')] ndmap1 = MultiDimensionalMapping(data1, key_dimensions=[self.dim1]) ndmap2 = MultiDimensionalMapping(data2, key_dimensions=[self.dim1]) ndmap3 = MultiDimensionalMapping(data3, key_dimensions=[self.dim1]) ndmap_list = [(0.5, ndmap1), (1.5, ndmap2)] nested_ndmap = MultiDimensionalMapping(ndmap_list, key_dimensions=[self.dim2]) nested_ndmap[(0.5,)].update(dict([(0, 'c'), (1, 'd')])) self.assertEquals(list(nested_ndmap[0.5].values()), ['c', 'd']) nested_ndmap[1.5] = ndmap3 self.assertEquals(list(nested_ndmap[1.5].values()), ['e', 'f'])
def test_idxmapping_redim_type_aux(self): data = [((0, 0.5), 'a'), ((1, 0.5), 'b')] ndmap = MultiDimensionalMapping(data, kdims=[self.dim1, self.dim2]) redimmed = ndmap.redim.type(intdim=str) self.assertEqual( redimmed.kdims, [Dimension('intdim', type=str), Dimension('floatdim', type=float)])
def test_idxmapping_dimension_labels(self): idxmap = MultiDimensionalMapping(self.init_item_odict, key_dimensions=[self.dim1, 'floatdim']) self.assertEqual([d.name for d in idxmap.key_dimensions], self.dimension_labels)
def test_idxmapping_init_dimensions(self): MultiDimensionalMapping(self.init_item_odict, key_dimensions=[self.dim1, self.dim2])
def test_idxmapping_init_dimstr(self): MultiDimensionalMapping(self.init_item_odict, key_dimensions=self.dimension_labels)
def test_idxmapping_init(self): MultiDimensionalMapping()
def test_idxmapping_apply_key_type(self): data = dict([(0.5, 'a'), (1.5, 'b')]) ndmap = MultiDimensionalMapping(data, key_dimensions=[self.dim1]) self.assertEqual(list(ndmap.keys()), [0, 1])
def test_idxmapping_unsorted_clone(self): data = [('B', 1), ('C', 2), ('A', 3)] ndmap = MultiDimensionalMapping(data, sort=False).clone() self.assertEquals(ndmap.keys(), ['B', 'C', 'A'])
def test_idxmapping_unsorted_clone(self): data = [('B', 1), ('C', 2), ('A', 3)] ndmap = MultiDimensionalMapping(data, sort=False).clone() self.assertEquals(ndmap.keys(), ['B', 'C', 'A'])
def test_idxmapping_groupby_unsorted(self): data = [(('B', 2), 1), (('C', 2), 2), (('A', 1), 3)] grouped = MultiDimensionalMapping(data, sort=False, kdims=['X', 'Y']).groupby('Y') self.assertEquals(grouped.keys(), [1, 2]) self.assertEquals(grouped.values()[0].keys(), ['A']) self.assertEquals(grouped.last.keys(), ['B', 'C'])
def test_idxmapping_redim(self): data = [((0, 0.5), 'a'), ((1, 0.5), 'b')] ndmap = MultiDimensionalMapping(data, kdims=[self.dim1, self.dim2]) redimmed = ndmap.redim(intdim='Integer') self.assertEqual(redimmed.kdims, [Dimension('Integer', type=int), Dimension('floatdim', type=float)])
def test_idxmapping_add_dimension(self): ndmap = MultiDimensionalMapping(self.init_items_1D_list, kdims=[self.dim1]) ndmap2d = ndmap.add_dimension(self.dim2, 0, 0.5) self.assertEqual(list(ndmap2d.keys()), [(0.5, 1), (0.5, 5)]) self.assertEqual(ndmap2d.kdims, [self.dim2, self.dim1])
def test_idxmapping_ndims(self): dims = [self.dim1, self.dim2, 'strdim'] idxmap = MultiDimensionalMapping(key_dimensions=dims) self.assertEqual(idxmap.ndims, len(dims))
def test_idxmapping_key_len_check(self): try: MultiDimensionalMapping(initial_items=self.init_item_odict) raise AssertionError('Invalid key length check failed.') except KeyError: pass
def test_idxmapping_init_item_list(self): MultiDimensionalMapping(self.init_item_list, kdims=[self.dim1, self.dim2])
def test_setitem_nested_1(self): nested1 = MultiDimensionalMapping([('B', 1)]) ndmap = MultiDimensionalMapping([('A', nested1)]) nested2 = MultiDimensionalMapping([('B', 2)]) ndmap['A'] = nested2 self.assertEqual(ndmap['A'], nested2)
def test_idxmapping_apply_key_type(self): data = dict([(0.5, 'a'), (1.5, 'b')]) ndmap = MultiDimensionalMapping(data, kdims=[self.dim1]) self.assertEqual(list(ndmap.keys()), [0, 1])