def METHOD_NAME(self):
    # 2.7 puts '()\n' where 3.x does not, other minor differences
    # Python class that inherits builtin methods
    class List(list): "List() doc"
    # Simulate builtin with no docstring for default argspec test
    class SB:  __call__ = None
    def gtest(obj, out):
        self.assertEqual(signature(obj), out)
    if List.__doc__ is not None:
        gtest(List, '()\n' + List.__doc__)
    gtest(list.__new__,
           'T.__new__(S, ...) -> a new object with type S, a subtype of T')
    gtest(list.__init__,
           'x.__init__(...) initializes x; see help(type(x)) for signature')
    append_doc =  "L.append(object) -- append object to end"
    gtest(list.append, append_doc)
    gtest([].append, append_doc)
    gtest(List.append, append_doc)
    gtest(types.MethodType, '()\ninstancemethod(function, instance, class)')
    gtest(SB(), default_tip)