code: def test_init(self):
      # Iterable arg is optional
      self.assertEqual(self.type2test([]), self.type2test())
  
      # Init clears previous values
      a = self.type2test([1, 2, 3])
      a.__init__()
      self.assertEqual(a, self.type2test([]))
  
      # Init overwrites previous values
      a = self.type2test([1, 2, 3])
      a.__init__([4, 5, 6])
      self.assertEqual(a, self.type2test([4, 5, 6]))
  
      # Mutables always return a new object
      b = self.type2test(a)
      self.assertNotEqual(id(a), id(b))
      self.assertEqual(a, b)
  
imports: import sys
  from functools import cmp_to_key
  from test import seq_tests
  from test.support import ALWAYS_EQ, NEVER_EQ, Py_C_RECURSION_LIMIT
label_desc: Use image node_id 1 for calling the CommonTest obj's underlying member method code with example usage: obj.test_init() without return types