docstr: ...Test that attrinfo from the closest parent is kept
  
  In this case, A1 has index 3 (A4 -> A3 -> A2 -> A1) and A0 has index
  4 (through A1) even if it could have index 2 (through B1). We want to
  ensure that we keep attrinfo from A1 instead of A0.
docstr_tok: ["...","Test","that","attrinfo","from","the","closest","parent","is","kept","In","this","case",",","A1","has","index","3","(","A4","-",">","A3","-",">","A2","-",">","A1",")","and","A0","has","index","4","(","through","A1",")","even","if","it","could","have","index","2","(","through","B1",")",".","We","want","to","ensure","that","we","keep","attrinfo","from","A1","instead","of","A0","."]
code: def test_multiple_inherited_attrinfo(self):
      """...Test that attrinfo from the closest parent is kept
  
      In this case, A1 has index 3 (A4 -> A3 -> A2 -> A1) and A0 has index
      4 (through A1) even if it could have index 2 (through B1). We want to
      ensure that we keep attrinfo from A1 instead of A0.
      """
  
      def fk4(x):
          self.a4.k0 = x
  
      def fz4(x):
          self.a4.z0 = x
  
      fz4(3)
      self.assertRaises(AttributeError, fk4, 3)
  
imports: import sys
  import unittest
  from tick.base import Base
  from tick.base.build.base import A0
label_desc: Use image node_id 13 for calling the Test obj's underlying member method code with example usage: obj.test_multiple_inherited_attrinfo() without return types