code: def test_blockingioerror(self):
      args = ("a", "b", "c", "d", "e")
      for n in range(6):
          e = BlockingIOError(*args[:n])
          with self.assertRaises(AttributeError):
              e.characters_written
          with self.assertRaises(AttributeError):
              del e.characters_written
      e = BlockingIOError("a", "b", 3)
      self.assertEqual(e.characters_written, 3)
      e.characters_written = 5
      self.assertEqual(e.characters_written, 5)
      del e.characters_written
      with self.assertRaises(AttributeError):
          e.characters_written
  
imports: import builtins
  import os
  import select
  import socket
  import unittest
  import errno
  from errno import EEXIST
label_desc: Use image node_id 4 for calling the AttributesTest obj's underlying member method code with example usage: obj.test_blockingioerror() without return types