def test_super_class():
 class custDescr(object, ):
  def __get__(self, instance, owner):
   AreEqual(instance, None)
   return 'abc'
 class base(object, ):
  aProp = property((lambda self: 'foo'))
  aDescr = custDescr()
 class sub(base, ):
  def test1(cls):
   return super(sub, cls).aProp
  def test2(cls):
   return super(sub, cls).aDescr
  test1 = classmethod(test1)
  test2 = classmethod(test2)
 AreEqual(sub.test2(), 'abc')
 AreEqual(type(sub.test1()), property)

def test_super_class ( ) : class custDescr ( object , ) : def __get__ ( self , instance , owner ) : AreEqual ( instance , None ) return 'abc' class base ( object , ) : aProp = property ( ( lambda self : 'foo' ) ) aDescr = custDescr ( ) class sub ( base , ) : def test1 ( cls ) : return super ( sub , cls ) . aProp def test2 ( cls ) : return super ( sub , cls ) . aDescr test1 = classmethod ( test1 ) test2 = classmethod ( test2 ) AreEqual ( sub . test2 ( ) , 'abc' ) AreEqual ( type ( sub . test1 ( ) ) , property )
verify super on a class passes none for the instance .