code: def test_copy_rowcount(self):
      curs = self.conn.cursor()
  
      curs.copy_from(
          StringIO("aaa\nbbb\nccc\n"), "tcopy", columns=["data"]
      )
      self.assertEqual(curs.rowcount, 3)
  
      curs.copy_expert(
          "copy tcopy (data) from stdin", StringIO("ddd\neee\n")
      )
      self.assertEqual(curs.rowcount, 2)
  
      curs.copy_to(StringIO(), "tcopy")
      self.assertEqual(curs.rowcount, 5)
  
      curs.execute("insert into tcopy (data) values ('fff')")
      curs.copy_expert("copy tcopy to stdout", StringIO())
      self.assertEqual(curs.rowcount, 6)
  
imports: import io
  import sys
  import string
  import unittest
  from .testutils import ConnectingTestCase, skip_before_postgres, slow, StringIO
  from .testutils import skip_if_crdb
  from itertools import cycle
  from subprocess import Popen, PIPE
  import psycopg2
  import psycopg2.extensions
  from .testutils import skip_copy_if_green, TextIOBase
  from .testconfig import dsn
label_desc: Use image node_id 16 for calling the CopyTests obj's underlying member method code with example usage: obj.test_copy_rowcount() without return types