code: def test_byval(self):
      # without prototype
      ptin = POINT(1, 2)
      ptout = POINT()
      # EXPORT int _testfunc_byval(point in, point *pout)
      result = dll._testfunc_byval(ptin, byref(ptout))
      got = result, ptout.x, ptout.y
      expected = 3, 1, 2
      self.assertEqual(got, expected)
  
      # with prototype
      ptin = POINT(101, 102)
      ptout = POINT()
      dll._testfunc_byval.argtypes = (POINT, POINTER(POINT))
      dll._testfunc_byval.restype = c_int
      result = dll._testfunc_byval(ptin, byref(ptout))
      got = result, ptout.x, ptout.y
      expected = 203, 101, 102
      self.assertEqual(got, expected)
  
imports: import _ctypes_test
  import ctypes
  import sys
  import unittest
  from ctypes import CDLL, Structure, Array, CFUNCTYPE, byref, POINTER, pointer, ArgumentError, c_char, c_wchar, c_byte, c_char_p, c_wchar_p, c_short, c_int, c_long, c_longlong, c_void_p, c_float, c_double, c_longdouble
  from _ctypes import _Pointer, _SimpleCData
label_desc: Use image node_id 21 for calling the FunctionTestCase obj's underlying member method code with example usage: obj.test_byval() without return types