code: def test_rfft_plan_manager(self, xp, scp, dtype):
      x = testing.shaped_random(self.shape, xp, dtype)
      x_orig = x.copy()
      if scp is cupyx.scipy:
          from cupy.cuda.cufft import get_current_plan
  
          plan = scp.fftpack.get_fft_plan(
              x, shape=self.n, axes=self.axis, value_type="R2C"
          )
          with plan:
              assert id(plan) == id(get_current_plan())
              out = scp.fftpack.rfft(x, n=self.n, axis=self.axis)
          assert get_current_plan() is None
      else:  # scipy
          out = scp.fftpack.rfft(x, n=self.n, axis=self.axis)
      testing.assert_array_equal(x, x_orig)
      return out
  
imports: import unittest
  import numpy
  import pytest
  import cupy
  from cupy import testing
  import cupyx.scipy.fftpack
  from cupy.fft._fft import _default_fft_func, _fftn
label_desc: Use image node_id 5 for calling the TestRfft obj's underlying member method code with example usage: obj.test_rfft_plan_manager(xp, scp, dtype) and returns: out