



"""simple docstring"""






import unittest

from transformers import load_tool
from transformers.tools.agent_types import AGENT_TYPE_MAPPING

from .test_tools_common import ToolTesterMixin, output_types




class    __snake_case(					unittest.TestCase			,			__A       ):




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			load_tool('''translation'''			)
      self.tool.setup()
      _SCREAMING_SNAKE_CASE        =			load_tool('''translation'''    ,							remote=A_			)




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			self.tool('''Hey, what\'s up?'''    ,							src_lang='''English'''    ,							tgt_lang='''French'''			)
      self.assertEqual(A_    ,							'''- Hé, comment ça va?'''			)




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			self.remote_tool('''Hey, what\'s up?'''    ,							src_lang='''English'''    ,							tgt_lang='''French'''			)
      self.assertEqual(A_    ,							'''- Hé, comment ça va?'''			)




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			self.tool(text='''Hey, what\'s up?'''    ,							src_lang='''English'''    ,							tgt_lang='''French'''			)
      self.assertEqual(A_    ,							'''- Hé, comment ça va?'''			)




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			self.remote_tool(text='''Hey, what\'s up?'''    ,							src_lang='''English'''    ,							tgt_lang='''French'''			)
      self.assertEqual(A_    ,							'''- Hé, comment ça va?'''			)




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			['''Hey, what\'s up?''', '''English''', '''Spanish''']
      _SCREAMING_SNAKE_CASE        =			self.tool(*A_			)

      # There is a single output
      if len(self.tool.outputs			) == 1:
        _SCREAMING_SNAKE_CASE        =			[outputs]

      self.assertListEqual(output_types(A_			)    ,							self.tool.outputs			)




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			['''Hey, what\'s up?''', '''English''', '''Spanish''']
      _SCREAMING_SNAKE_CASE        =			self.tool(*A_			)

      if not isinstance(A_    ,							A_			):
        _SCREAMING_SNAKE_CASE        =			[outputs]

      self.assertEqual(len(A_			)    ,							len(self.tool.outputs			)			)

      for output, output_type in zip(A_    ,							self.tool.outputs			):
        _SCREAMING_SNAKE_CASE        =			AGENT_TYPE_MAPPING[output_type]
        self.assertTrue(isinstance(A_    ,							A_			)			)




    def   A   (   self			):





      '''simple docstring'''



      _SCREAMING_SNAKE_CASE        =			['''Hey, what\'s up?''', '''English''', '''Spanish''']

      _SCREAMING_SNAKE_CASE        =			[]

      for _input, input_type in zip(A_    ,							self.tool.inputs			):
        if isinstance(A_    ,							A_			):
          _inputs.append([AGENT_TYPE_MAPPING[_input_type](_input			) for _input_type in input_type]			)
        else:
          _inputs.append(AGENT_TYPE_MAPPING[input_type](_input			)			)

        # Should not raise an error
      _SCREAMING_SNAKE_CASE        =			self.tool(*A_			)

      if not isinstance(A_    ,							A_			):
        _SCREAMING_SNAKE_CASE        =			[outputs]

      self.assertEqual(len(A_			)    ,							len(self.tool.outputs			)			)





"""simple docstring"""






from transformers import ProcessorMixin




class    __snake_case(					__A       ):
    _A       = '''AutoFeatureExtractor'''
    _A       = '''AutoTokenizer'''
