code: def test_attr(self):
      self.assertTrue(hasattr(self.config, "x"))
      self.assertEqual(self.config.x, "global x")
      self.assertTrue(hasattr(self.config, "y"))
      self.assertEqual(self.config.y, "local y")
      self.assertTrue(hasattr(self.config, "z"))
      self.assertEqual(self.config.z, "local z")
      self.assertFalse(hasattr(self.config, "w"))
  
      del self.config.y
      self.assertTrue(hasattr(self.config, "y"))
      self.assertEqual(self.config.y, "global y")
  
      with self.assertRaises(AttributeError):
          del self.config.x
  
file_path: chainer/tests/chainer_tests/test_configuration.py
imports: import io
  import threading
  import unittest
  import chainer
  from chainer import configuration
  from chainer import testing
label_desc: Use image node_id 2 for calling the TestLocalConfig obj's underlying member method code with example usage: obj.test_attr() without return types