code: def test_subscript(self):
      a = self.type2test([10, 11])
      self.assertEqual(a.__getitem__(0), 10)
      self.assertEqual(a.__getitem__(1), 11)
      self.assertEqual(a.__getitem__(-2), 10)
      self.assertEqual(a.__getitem__(-1), 11)
      self.assertRaises(IndexError, a.__getitem__, -3)
      self.assertRaises(IndexError, a.__getitem__, 3)
      self.assertEqual(a.__getitem__(slice(0, 1)), self.type2test([10]))
      self.assertEqual(a.__getitem__(slice(1, 2)), self.type2test([11]))
      self.assertEqual(
          a.__getitem__(slice(0, 2)), self.type2test([10, 11])
      )
      self.assertEqual(
          a.__getitem__(slice(0, 3)), self.type2test([10, 11])
      )
      self.assertEqual(a.__getitem__(slice(3, 5)), self.type2test([]))
      self.assertRaises(ValueError, a.__getitem__, slice(0, 10, 0))
      self.assertRaises(TypeError, a.__getitem__, "x")
  
imports: import unittest
  import sys
  import pickle
  from test import support
  from test.support import ALWAYS_EQ, NEVER_EQ
  from itertools import chain
label_desc: Use image node_id 16 for calling the CommonTest obj's underlying member method code with example usage: obj.test_subscript() without return types