def METHOD_NAME(cat_path, compression="lz4"):
    sample = deeplake.read(cat_path)
    arr = sample.array
    # reloaded to get rid of cached array in sample
    sample = deeplake.read(cat_path)
    dtype = "uint16"
    out, shape = serialize_sample_object(
        sample, compression, None, dtype, "generic", 16 * MB
    )
    arr_deserialized = decompress_array(out, shape, dtype, compression).reshape(shape)
    np.testing.assert_array_equal(arr, arr_deserialized)
    # reloaded to get rid of cached array in sample
    sample = deeplake.read(cat_path)
    out, shape = serialize_sample_object(
        sample, compression, None, dtype, "generic", 100 * KB
    )
    assert isinstance(out, SampleTiles)
    out_list = [out.yield_tile() for _ in range(out.num_tiles)]
    np_list = [decompress_array(b[0], b[1], dtype, compression) for b in out_list]
    tile_shape, layout_shape = out.tile_shape, out.layout_shape
    out = np_list_to_sample(np_list, shape, tile_shape, layout_shape, "uint16")
    np.testing.assert_array_equal(arr, out)