def METHOD_NAME(self):
    func = testdll._testfunc_p_p
    func.restype = c_char_p
    func.argtypes = c_void_p,
    self.assertEqual(None, func(None))
    self.assertEqual("123", func("123"))
    self.assertEqual("123", func(c_char_p("123")))
    self.assertEqual(None, func(c_char_p(None)))
    self.assertEqual("123", func(c_buffer("123")))
    ca = c_char("a")
    self.assertEqual("a", func(pointer(ca))[0])
    self.assertEqual("a", func(byref(ca))[0])
    func(byref(c_int()))
    func(pointer(c_int()))
    func((c_int * 3)())
    try:
        func.restype = c_wchar_p
    except NameError:
        pass
    else:
        self.assertEqual(None, func(c_wchar_p(None)))
        self.assertEqual(u"123", func(c_wchar_p(u"123")))