code: def test_inherit(self):
      self.assertEqual(len(Model2Sub1Sub1.__annotations__), 3)
      self.assertEqual(
          Model2Sub1Sub1.__annotations__["bar"],
          int,
          "fields in subclass should overwrite same ones in baseclass",
      )
      self.assertEqual(
          Model2Sub1._field_defaults["m2s1"],
          5,
          "default value of fields in baseclass should be inherited",
      )
      self.assertEqual(
          Model2Sub1Sub1._field_defaults["bar"],
          3,
          "default value of fields in subclass should overwrite same ones in baseclass",
      )
      obj = Model2Sub1Sub1(m2s1s1="test")
      self.assertEqual(obj.m2s1, 5)
      self.assertEqual(len(obj.items()), 3)
  
imports: import json
  import unittest
  from typing import List, Tuple, Union
  from pytext.config.component import Component, ComponentType
  from pytext.config.pytext_config import ConfigBase
  from pytext.config.serialize import config_from_json, config_to_json, ConfigParseError, MissingValueError, UnionTypeError
label_desc: Use image node_id 1 for calling the ConfigBaseTest obj's underlying member method code with example usage: obj.test_inherit() without return types