docstr: Remove multiple keywords at once.
docstr_tok: ["Remove","multiple","keywords","at","once","."]
code: def testRemoveMultipleKeywords(self):
      """Remove multiple keywords at once."""
      # Not using deprecated keywords -> no rename
      text = "h(a, kw1=x, kw2=y)\n"
      _, new_text = self._upgrade(
          RemoveMultipleKeywordArguments(), text
      )
      self.assertEqual(new_text, text)
  
      # Using positional arguments (in proper order) -> no change
      text = "h(a, x, y)\n"
      _, new_text = self._upgrade(
          RemoveMultipleKeywordArguments(), text
      )
      self.assertEqual(new_text, text)
  
      # Use only the old names, in order
      text = "h(a, kw1_alias=x, kw2_alias=y)\n"
      acceptable_outputs = [
          "h(a, x, y)\n",
          "h(a, kw1=x, kw2=y)\n",
          "h(a=a, kw1=x, kw2=y)\n",
          "h(a, kw2=y, kw1=x)\n",
          "h(a=a, kw2=y, kw1=x)\n",
      ]
      _, new_text = self._upgrade(
          RemoveMultipleKeywordArguments(), text
      )
      self.assertIn(new_text, acceptable_outputs)
  
      # Use only the old names, in reverse order, should give one of same outputs
      text = "h(a, kw2_alias=y, kw1_alias=x)\n"
      _, new_text = self._upgrade(
          RemoveMultipleKeywordArguments(), text
      )
      self.assertIn(new_text, acceptable_outputs)
  
      # Mix old and new names
      text = "h(a, kw1=x, kw2_alias=y)\n"
      _, new_text = self._upgrade(
          RemoveMultipleKeywordArguments(), text
      )
      self.assertIn(new_text, acceptable_outputs)
  
imports: import ast
  import io
  import os
  from tensorflow.python.framework import test_util
  from tensorflow.python.platform import test
  from tensorflow.tools.compatibility import ast_edits
label_desc: Use image node_id 11 for calling the TestAstEdits obj's underlying member method code with example usage: obj.testRemoveMultipleKeywords() without return types