code: def test_subclass(self):
      class T(Array):
          _type_ = c_int
          _length_ = 13
  
      class U(T):
          pass
  
      class V(U):
          pass
  
      class W(V):
          pass
  
      class X(T):
          _type_ = c_short
  
      class Y(T):
          _length_ = 187
  
      for c in [T, U, V, W]:
          self.assertEqual(c._type_, c_int)
          self.assertEqual(c._length_, 13)
          self.assertEqual(c()._type_, c_int)
          self.assertEqual(c()._length_, 13)
  
      self.assertEqual(X._type_, c_short)
      self.assertEqual(X._length_, 13)
      self.assertEqual(X()._type_, c_short)
      self.assertEqual(X()._length_, 13)
  
      self.assertEqual(Y._type_, c_int)
      self.assertEqual(Y._length_, 187)
      self.assertEqual(Y()._type_, c_int)
      self.assertEqual(Y()._length_, 187)
  
imports: import ctypes
  import sys
  import unittest
  import warnings
  from ctypes import Structure, Array, sizeof, addressof, create_string_buffer, create_unicode_buffer, c_char, c_wchar, c_byte, c_ubyte, c_short, c_ushort, c_int, c_uint, c_long, c_ulonglong, c_float, c_double, c_longdouble
  from test.support import bigmemtest, _2G
  from ._support import _CData, PyCArrayType, Py_TPFLAGS_DISALLOW_INSTANTIATION, Py_TPFLAGS_IMMUTABLETYPE
label_desc: Use image node_id 10 for calling the ArrayTestCase obj's underlying member method code with example usage: obj.test_subclass() without return types