code: import unittest
  
  import pytest
  
  from transformers import (
      MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
      TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING,
      MBartaaTokenizerFast,
      MBartConfig,
      MBartForConditionalGeneration,
      TranslationPipeline,
      pipeline,
  )
  from transformers.testing_utils import is_pipeline_test, require_tf, require_torch, slow
  
  from .test_pipelines_common import ANY
  
  
  
  
  @is_pipeline_test
  class      lowercase_						(						unittest.TestCase		):
  
  
  
  	"""simple docstring"""
  
  
  
  
  
  	UpperCAmelCase_						:      Any     =       MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING
  	UpperCAmelCase_						:      Union[str, Any]     =       TF_MODEL_FOR_SEQ_TO_SEQ_CAUSAL_LM_MAPPING
  
  
  	def     SCREAMING_SNAKE_CASE_       (							self	,    __SCREAMING_SNAKE_CASE	,    __SCREAMING_SNAKE_CASE	,    __SCREAMING_SNAKE_CASE       )		->Optional[Any]:
  								if isinstance(model.config	,    __SCREAMING_SNAKE_CASE       ):
  															lowerCAmelCase	,   lowerCAmelCase				=	list(tokenizer.lang_code_to_id.keys()       )[:2]
  															lowerCAmelCase				=	TranslationPipeline(model=__SCREAMING_SNAKE_CASE	,    tokenizer=__SCREAMING_SNAKE_CASE	,    src_lang=__SCREAMING_SNAKE_CASE	,    tgt_lang=__SCREAMING_SNAKE_CASE       )
  								else:
  															lowerCAmelCase				=	TranslationPipeline(model=__SCREAMING_SNAKE_CASE	,    tokenizer=__SCREAMING_SNAKE_CASE       )
  								return translator, ["Some string", "Some other text"]
  
  
  	def     SCREAMING_SNAKE_CASE_       (							self	,    __SCREAMING_SNAKE_CASE	,    __SCREAMING_SNAKE_CASE       )		->Optional[Any]:
  								lowerCAmelCase				=	translator('''Some string'''       )
  								self.assertEqual(__SCREAMING_SNAKE_CASE	,    [{'''translation_text''': ANY(__SCREAMING_SNAKE_CASE       )}]       )
  
  								lowerCAmelCase				=	translator(['''Some string''']       )
  								self.assertEqual(__SCREAMING_SNAKE_CASE	,    [{'''translation_text''': ANY(__SCREAMING_SNAKE_CASE       )}]       )
  
  								lowerCAmelCase				=	translator(['''Some string''', '''other string''']       )
  								self.assertEqual(__SCREAMING_SNAKE_CASE	,    [{'''translation_text''': ANY(__SCREAMING_SNAKE_CASE       )}, {'''translation_text''': ANY(__SCREAMING_SNAKE_CASE       )}]       )
  
  
  	@require_torch
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->Any:
  								lowerCAmelCase				=	pipeline('''translation_en_to_ro'''	,    model='''patrickvonplaten/t5-tiny-random'''	,    framework='''pt'''       )
  								lowerCAmelCase				=	translator('''This is a test string'''	,    max_length=20       )
  								self.assertEqual(
  								    __SCREAMING_SNAKE_CASE	,    [
  								        {
  								            '''translation_text''': (
  								                '''Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide'''
  								                ''' Beide Beide'''
  								            )
  								        }
  								    ]	,    )
  
  
  	@require_tf
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->str:
  								lowerCAmelCase				=	pipeline('''translation_en_to_ro'''	,    model='''patrickvonplaten/t5-tiny-random'''	,    framework='''tf'''       )
  								lowerCAmelCase				=	translator('''This is a test string'''	,    max_length=20       )
  								self.assertEqual(
  								    __SCREAMING_SNAKE_CASE	,    [
  								        {
  								            '''translation_text''': (
  								                '''Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide Beide'''
  								                ''' Beide Beide'''
  								            )
  								        }
  								    ]	,    )
  
  
  	@require_torch
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->List[str]:
  								lowerCAmelCase				=	pipeline('''translation_en_to_de'''	,    model='''patrickvonplaten/t5-tiny-random'''	,    framework='''pt'''       )
  								lowerCAmelCase				=	translator('''This is a test string'''	,    max_length=20       )
  								self.assertEqual(
  								    __SCREAMING_SNAKE_CASE	,    [
  								        {
  								            '''translation_text''': (
  								                '''monoton monoton monoton monoton monoton monoton monoton monoton monoton monoton urine urine'''
  								                ''' urine urine urine urine urine urine urine'''
  								            )
  								        }
  								    ]	,    )
  
  
  
  
  	@require_tf
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->Dict:
  								lowerCAmelCase				=	pipeline('''translation_en_to_de'''	,    model='''patrickvonplaten/t5-tiny-random'''	,    framework='''tf'''       )
  								lowerCAmelCase				=	translator('''This is a test string'''	,    max_length=20       )
  								self.assertEqual(
  								    __SCREAMING_SNAKE_CASE	,    [
  								        {
  								            '''translation_text''': (
  								                '''monoton monoton monoton monoton monoton monoton monoton monoton monoton monoton urine urine'''
  								                ''' urine urine urine urine urine urine urine'''
  								            )
  								        }
  								    ]	,    )
  
  
  
  
  class      lowercase_						(						unittest.TestCase		):
  
  
  
  	"""simple docstring"""
  
  
  
  
  
  	@require_torch
  	@slow
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->List[Any]:
  								# We don't provide a default for this pair
  								with self.assertRaises(__SCREAMING_SNAKE_CASE       ):
  															pipeline(task='''translation_cn_to_ar'''       )
  
  								# but we do for this one
  								lowerCAmelCase				=	pipeline(task='''translation_en_to_de'''       )
  								self.assertEqual(translator._preprocess_params['''src_lang''']	,    '''en'''       )
  								self.assertEqual(translator._preprocess_params['''tgt_lang''']	,    '''de'''       )
  
  
  	@require_torch
  	@slow
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->str:
  								lowerCAmelCase				=	MBartForConditionalGeneration.from_pretrained('''facebook/mbart-large-50-many-to-many-mmt'''       )
  								lowerCAmelCase				=	MBartaaTokenizerFast.from_pretrained('''facebook/mbart-large-50-many-to-many-mmt'''       )
  
  								lowerCAmelCase				=	pipeline(task='''translation'''	,    model=__SCREAMING_SNAKE_CASE	,    tokenizer=__SCREAMING_SNAKE_CASE       )
  								# Missing src_lang, tgt_lang
  								with self.assertRaises(__SCREAMING_SNAKE_CASE       ):
  															translator('''This is a test'''       )
  
  								lowerCAmelCase				=	translator('''This is a test'''	,    src_lang='''en_XX'''	,    tgt_lang='''ar_AR'''       )
  								self.assertEqual(__SCREAMING_SNAKE_CASE	,    [{'''translation_text''': '''هذا إختبار'''}]       )
  
  								lowerCAmelCase				=	translator('''This is a test'''	,    src_lang='''en_XX'''	,    tgt_lang='''hi_IN'''       )
  								self.assertEqual(__SCREAMING_SNAKE_CASE	,    [{'''translation_text''': '''यह एक परीक्षण है'''}]       )
  
  								# src_lang, tgt_lang can be defined at pipeline call time
  								lowerCAmelCase				=	pipeline(task='''translation'''	,    model=__SCREAMING_SNAKE_CASE	,    tokenizer=__SCREAMING_SNAKE_CASE	,    src_lang='''en_XX'''	,    tgt_lang='''ar_AR'''       )
  								lowerCAmelCase				=	translator('''This is a test'''       )
  								self.assertEqual(__SCREAMING_SNAKE_CASE	,    [{'''translation_text''': '''هذا إختبار'''}]       )
  
  
  	@require_torch
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->Dict:
  								lowerCAmelCase				=	'''patrickvonplaten/t5-tiny-random'''
  								lowerCAmelCase				=	pipeline(task='''translation_cn_to_ar'''	,    model=__SCREAMING_SNAKE_CASE       )
  								self.assertEqual(translator._preprocess_params['''src_lang''']	,    '''cn'''       )
  								self.assertEqual(translator._preprocess_params['''tgt_lang''']	,    '''ar'''       )
  
  
  	@require_torch
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->Optional[int]:
  								lowerCAmelCase				=	'''patrickvonplaten/t5-tiny-random'''
  								with pytest.warns(__SCREAMING_SNAKE_CASE	,    match=R'''.*translation_en_to_de.*'''       ):
  															lowerCAmelCase				=	pipeline(task='''translation'''	,    model=__SCREAMING_SNAKE_CASE       )
  								self.assertEqual(translator.task	,    '''translation_en_to_de'''       )
  								self.assertEqual(translator._preprocess_params['''src_lang''']	,    '''en'''       )
  								self.assertEqual(translator._preprocess_params['''tgt_lang''']	,    '''de'''       )
  
  
  
  
  	@require_torch
  	def     SCREAMING_SNAKE_CASE_       (							self       )		->str:
  								with self.assertRaises(__SCREAMING_SNAKE_CASE       ):
  															pipeline(task='''translation'''       )
  
  
  
  
style_context: def      SCREAMING_SNAKE_CASE_  (		snake_case__     ,						snake_case__							)  ->			int:
  							return (input_a, input_a).count(0							) % 2
  
  def      SCREAMING_SNAKE_CASE_  (		)  ->			None:
  							assert xor_gate(0     ,						0							) == 0
  							assert xor_gate(0     ,						1							) == 1
  							assert xor_gate(1     ,						0							) == 1
  							assert xor_gate(1     ,						1							) == 0
  
  
  if __name__ == "__main__":
  	print(xor_gate(0, 0))
  	print(xor_gate(0, 1))
  
  
  
  