def METHOD_NAME(self, cube, header_keys, header_items):
    # Check that the cube saves correctly to TIFF :
    #   * the header contains expected keys and (some) values
    #   * the data array retrieves correctly
    import iris.experimental.raster
    with self.temp_filename(".tif") as temp_filename:
        iris.experimental.raster.export_geotiff(cube, temp_filename)
        # Check the metadata is correct.
        self.check_tiff_header(temp_filename, header_keys, header_items)
        # Ensure that north is at the top then check the data is correct.
        coord_y = cube.coord(axis="Y", dim_coords=True)
        data = cube.data
        if np.diff(coord_y.bounds[0]) > 0:
            data = cube.data[::-1, :]
        im = PIL.Image.open(temp_filename)
        im_data = np.array(im)
        # Currently we only support writing 32-bit tiff, when comparing
        # the data ensure that it is also 32-bit
        np.testing.assert_array_equal(im_data, data.astype(np.float32))