code: def test_print_report(self):
      io = six.StringIO()
      self.h.print_report(unit=self.unit, file=io)
      expect = r"""\AFunctionName  UsedBytes  AcquiredBytes  Occurrence
   +Exp +[0-9.\-e]+.?B +[0-9.\-e]+.?B +[0-9]+
   +ReLU +[0-9.\-e]+.?B +[0-9.\-e]+.?B +[0-9]+$
  """
      actual = io.getvalue()
      six.assertRegex(self, actual, expect)
  
imports: import unittest
  import numpy
  import six
  import chainer
  from chainer.backends import cuda
  from chainer import function_hooks
  from chainer import functions
  from chainer.functions.math import basic_math
  from chainer import testing
  from chainer.testing import attr
label_desc: Use image node_id 1 for calling the TestCupyMemoryProfileReportPrintUnit obj's underlying member method code with example usage: obj.test_print_report() without return types