def test_extend_packets_raises_error_on_misshaped_packets_passed(self): packet_shape = (self.n_f + 1, self.f_h, self.f_w) packets = list(self.items['raw']) packets.append(np.zeros(packet_shape)) holder = dat.DataHolder(self.packet_shape) self.assertRaises(ValueError, holder.extend_packets, packets)
def test_get_data_as_dict_empty(self): included_types = ('raw', 'yx') item_types = self._create_item_types(included_types) exp_items = {itype: [] for itype in included_types} holder = dat.DataHolder(self.packet_shape, item_types=item_types) self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
def test_get_data_as_arraylike_empty(self): included_types = ('yx', ) item_types = self._create_item_types(included_types) exp_items = tuple([] for itype in included_types) holder = dat.DataHolder(self.packet_shape, item_types=item_types) self._assertItemsArraylike(holder.get_data_as_arraylike(), exp_items, item_types)
def test_num_items_with_items(self): included_types = ('raw', ) item_types = self._create_item_types(included_types) items = self._create_items(included_types, slice(0, 2)) holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.extend(items) self.assertEqual(len(holder), 2)
def test_num_items_empty(self): included_types = ( 'yx', 'gtux', ) item_types = self._create_item_types(included_types) holder = dat.DataHolder(self.packet_shape, item_types=item_types) self.assertEqual(len(holder), 0)
def test_extend(self): included_types = ('raw', 'gtux') items = self._create_items(included_types, slice(0, 2)) item_types = self._create_item_types(included_types) exp_items = {itype: list(items[itype]) for itype in included_types} holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.extend(items) self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
def test_append(self): included_types = ('yx', 'gtux') items = self._create_items(included_types, 0) item_types = self._create_item_types(included_types) exp_items = {itype: [items[itype]] for itype in included_types} holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.append(items) self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
def test_item_shapes(self): # might perhaps be better to not even have the dict keys for items # that are not contained in the holder included_types = ('yx', 'gtux', 'gtuy') item_types = self._create_item_types(included_types) item_shapes = self.item_shapes.copy() item_shapes['raw'] = None holder = dat.DataHolder(self.packet_shape, item_types=item_types) self.assertDictEqual(holder.item_shapes, item_shapes)
def __init__(self, name, packet_shape, resizable=True, dtype=np.uint8, item_types={'raw': True, 'yx': False, 'gtux': False, 'gtuy': False}): self._data = dat.DataHolder(packet_shape, item_types=item_types, dtype=dtype) self._targ = targ.TargetsHolder() self._meta = meta.MetadataHolder() self._num_data = 0 self.resizable = True self.name = name
def test_get_data_as_arraylike_with_slice(self): included_types = ('yx', 'gtux', 'gtuy') item_types = self._create_item_types(included_types) items = self._create_items(included_types, slice(0, 2)) exp_items = tuple(list(items[itype]) for itype in included_types) holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.extend(items) self._assertItemsArraylike(holder.get_data_as_arraylike(), exp_items, item_types)
def test_get_data_as_arraylike_with_range(self): included_types = ('gtux', ) item_types = self._create_item_types(included_types) items = self._create_items(included_types, range(0, 3)) req_range = range(1, 3) exp_items = tuple( list(items[itype][req_range]) for itype in included_types) holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.extend(items) self._assertItemsArraylike(holder.get_data_as_arraylike(req_range), exp_items, item_types)
def test_dtype_after_creation_with_items(self): dtype = 'uint16' included_types = ('raw', 'yx') item_types = self._create_item_types(included_types) holder = dat.DataHolder(self.packet_shape, dtype=dtype, item_types=item_types) packets = self.items['raw'].copy() holder.extend_packets(packets) items = holder.get_data_as_dict() self._assertItemsDtype(items, dtype, item_types) self.assertEqual(holder.dtype, dtype)
def test_get_data_as_dict_with_indexes_list(self): included_types = ('yx', ) item_types = self._create_item_types(included_types) items = self._create_items(included_types, range(0, 3)) req_idx = [0, 2] exp_items = { itype: list(items[itype][req_idx]) for itype in included_types } holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.extend(items) self._assertItemsDict(holder.get_data_as_dict(req_idx), exp_items, item_types)
def test_get_data_as_dict_with_range(self): included_types = ('raw', 'yx') item_types = self._create_item_types(included_types) items = self._create_items(included_types, range(0, 3)) req_range = range(1, 3) exp_items = { itype: list(items[itype][req_range]) for itype in included_types } holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.extend(items) self._assertItemsDict(holder.get_data_as_dict(req_range), exp_items, item_types)
def test_shuffle(self): included_types = ('raw', 'yx') item_types = self._create_item_types(included_types) items = self._create_items(included_types, slice(0, 2)) exp_items = {itype: items[itype] for itype in included_types} def shuffler(seq): temp = seq[0] seq[0] = seq[1] seq[1] = temp shuffler(exp_items['raw']) shuffler(exp_items['yx']) holder = dat.DataHolder(self.packet_shape, item_types=item_types) holder.extend_packets(items['raw']) holder.shuffle(shuffler, lambda: None) self._assertItemsDict(holder.get_data_as_dict(), exp_items, item_types)
def test_extend_raises_error_on_missing_items(self): item_types = self._create_item_types(('raw', 'yx', 'gtuy')) items = self._create_items(('raw', 'yx'), slice(0, 2)) holder = dat.DataHolder(self.packet_shape, item_types=item_types) self.assertRaises(Exception, holder.extend, items)
def test_item_types(self): included_types = ('yx', 'gtux') item_types = self._create_item_types(included_types) holder = dat.DataHolder(self.packet_shape, item_types=item_types) self.assertDictEqual(holder.item_types, item_types)
def test_append_packet_raises_error_on_misshaped_packet_passed(self): packet_shape = (self.n_f + 1, self.f_h, self.f_w) packet = np.ones(packet_shape) holder = dat.DataHolder(self.packet_shape) self.assertRaises(ValueError, holder.append_packet, packet)
def test_dtype_on_creation_empty(self): dtype = 'uint16' holder = dat.DataHolder(self.packet_shape, dtype=dtype) self.assertEqual(holder.dtype, dtype)
def test_dtype_on_casting_empty(self): dtype = 'uint32' holder = dat.DataHolder(self.packet_shape, dtype=dtype) dtype = 'uint16' holder.dtype = dtype self.assertEqual(holder.dtype, dtype)
def test_accepted_packet_shape(self): packet_shape = self.packet_shape holder = dat.DataHolder(packet_shape) self.assertTupleEqual(holder._packet_shape, packet_shape)