def test_decode_blosc_header(): array_ = np.linspace(0, 100, 2e4).tostring() # basic test case blosc_args = BloscArgs() compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = { 'versionlz': 1, 'blocksize': 160000, 'ctbytes': len(compressed), 'version': 2, 'flags': 1, 'nbytes': len(array_), 'typesize': blosc_args.typesize } nt.assert_equal(expected, header) # deactivate shuffle blosc_args.shuffle = False compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = { 'versionlz': 1, 'blocksize': 160000, 'ctbytes': len(compressed), 'version': 2, 'flags': 0, # no shuffle flag 'nbytes': len(array_), 'typesize': blosc_args.typesize } nt.assert_equal(expected, header) # uncompressible data array_ = np.asarray(np.random.randn(23), dtype=np.float32).tostring() blosc_args.shuffle = True compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = { 'versionlz': 1, 'blocksize': 88, 'ctbytes': len(array_) + 16, # original + 16 header bytes 'version': 2, 'flags': 3, # 1 for shuffle 2 for non-compressed 'nbytes': len(array_), 'typesize': blosc_args.typesize } nt.assert_equal(expected, header)
def test_decode_blosc_header(): array_ = np.linspace(0, 100, 2e4).tostring() # basic test case blosc_args = BloscArgs() compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = {'versionlz': 1, 'blocksize': 160000, 'ctbytes': len(compressed), 'version': 2, 'flags': 1, 'nbytes': len(array_), 'typesize': blosc_args.typesize} nt.assert_equal(expected, header) # deactivate shuffle blosc_args.shuffle = False compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = {'versionlz': 1, 'blocksize': 160000, 'ctbytes': len(compressed), 'version': 2, 'flags': 0, # no shuffle flag 'nbytes': len(array_), 'typesize': blosc_args.typesize} nt.assert_equal(expected, header) # uncompressible data array_ = np.asarray(np.random.randn(23), dtype=np.float32).tostring() blosc_args.shuffle = True compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = {'versionlz': 1, 'blocksize': 88, 'ctbytes': len(array_) + 16, # original + 16 header bytes 'version': 2, 'flags': 3, # 1 for shuffle 2 for non-compressed 'nbytes': len(array_), 'typesize': blosc_args.typesize} nt.assert_equal(expected, header)
def test_decode_blosc_header_deactivate_shuffle(): array_ = np.ones(16000, dtype=np.uint8) blosc_args = BloscArgs() blosc_args.shuffle = False compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = {'versionlz': 1, 'version': 2, 'flags': 0, # no shuffle flag 'nbytes': len(array_), 'typesize': blosc_args.typesize} header_slice = dict((k, header[k]) for k in expected.keys()) nt.assert_equal(expected, header_slice)
def test_decode_blosc_header_deactivate_shuffle(): array_ = np.ones(16000, dtype=np.uint8) blosc_args = BloscArgs() blosc_args.shuffle = False compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = { 'versionlz': 1, 'version': 2, 'flags': 0, # no shuffle flag 'nbytes': len(array_), 'typesize': blosc_args.typesize } header_slice = dict((k, header[k]) for k in expected.keys()) nt.assert_equal(expected, header_slice)
def test_decode_blosc_header_uncompressible_data(): array_ = np.asarray(np.random.randn(255), dtype=np.float32).tostring() blosc_args = BloscArgs() blosc_args.shuffle = True compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = {'versionlz': 1, 'blocksize': 1016, 'ctbytes': len(array_) + 16, # original + 16 header bytes 'version': 2, 'flags': 0x13, # 1 for shuffle 2 for non-compressed 4 for small blocksize 'nbytes': len(array_), 'typesize': blosc_args.typesize} nt.assert_equal(expected, header)
def test_decode_blosc_header_uncompressible_data_dont_split_false(): array_ = np.asarray(np.random.randn(256), dtype=np.float32).tostring() blosc_args = BloscArgs() blosc_args.shuffle = True compressed = blosc.compress(array_, **blosc_args) header = decode_blosc_header(compressed) expected = { 'versionlz': 1, 'version': 2, 'blocksize': 1024, 'ctbytes': len(array_) + 16, # original + 16 header bytes 'flags': 0x3, # 1 for shuffle 2 for non-compressed 'nbytes': len(array_), 'typesize': blosc_args.typesize } nt.assert_equal(expected, header)