def METHOD_NAME(t_at_ccl, p_at_ccl, temperature, ccl_t, ccl_p, expected):
    """
    When the profile is shifted to be colder, the same saturated ascents
    reach a higher, and therefore colder, level.
    The different CCL values show that starting at a higher point on the same
    profile has no impact on the final result.
    The last test is for a case where convection does not occur and the result is masked.
    """
    t_at_ccl.data = np.full_like(t_at_ccl.data, ccl_t)
    p_at_ccl.data = np.full_like(p_at_ccl.data, ccl_p)
    result = CloudTopTemperature()(t_at_ccl, p_at_ccl, temperature)
    metadata_ok(result, t_at_ccl)
    if expected:
        assert not result.data.mask.any()
        np.testing.assert_allclose(result.data, expected, atol=1e-2)
    else:
        assert result.data.mask.all()