def METHOD_NAME(self):
    shape = (5, 200, 400)
    tile_shape = (25, 25)
    expected_num_levels = 4
    expected_shapes = [
        (5, 200, 400),
        (5, 100, 200),
        (5, 50, 100),
        (5, 25, 50),
    ]
    expected_chunks = [
        ((1,) * 5, (25,) * 8, (25,) * 16),
        ((1,) * 5, (25,) * 4, (25,) * 8),
        ((1,) * 5, (25,) * 2, (25,) * 4),
        ((1,) * 5, (25,) * 1, (25,) * 2),
    ]
    self._assert_io_ok(shape,
                       tile_shape,
                       False,
                       expected_num_levels,
                       expected_shapes,
                       expected_chunks)
    self._assert_io_ok(shape,
                       tile_shape,
                       True,
                       expected_num_levels,
                       expected_shapes,
                       expected_chunks)