code: def test_property_new_getter_new_docstring(self):
      class Foo(object):
          @PropertySub
          def spam(self):
              """a docstring"""
              return 1
  
          @spam.getter
          def spam(self):
              """a new docstring"""
              return 2
  
      self.assertEqual(Foo.__dict__["spam"].__doc__, "a new docstring")
  
      class FooBase(object):
          @PropertySub
          def spam(self):
              """a docstring"""
              return 1
  
      class Foo2(FooBase):
          spam = FooBase.__dict__["spam"]
  
          @spam.getter
          def spam(self):
              """a new docstring"""
              return 2
  
      self.assertEqual(Foo.__dict__["spam"].__doc__, "a new docstring")
  
imports: import abc
  import sys
  import unittest
  from types import DynamicClassAttribute
label_desc: Use image node_id 4 for calling the PropertySubclassTests obj's underlying member method code with example usage: obj.test_property_new_getter_new_docstring() and returns: int, int, int, int