



import unittest
from pathlib import Path

from transformers import is_vision_available, load_tool
from transformers.testing_utils import get_tests_dir

from .test_tools_common import ToolTesterMixin


if is_vision_available():
	from PIL import Image

class 			__snake_case   ( unittest.TestCase      ,_a):







							'''simple docstring'''






							def _a   (				self		):
											a__					   =		load_tool("""image-question-answering"""		)
											self.tool.setup()
											a__					   =		load_tool("""image-question-answering"""	,	remote=a_		)


							def _a   (				self		):
											a__					   =		Image.open(Path(get_tests_dir("""fixtures/tests_samples/COCO"""		)		) / """000000039769.png"""		)
											a__					   =		self.tool(a_	,	"""How many cats are sleeping on the couch?"""		)
											self.assertEqual(a_	,	"""2"""		)


							def _a   (				self		):
											a__					   =		Image.open(Path(get_tests_dir("""fixtures/tests_samples/COCO"""		)		) / """000000039769.png"""		)
											a__					   =		self.remote_tool(a_	,	"""How many cats are sleeping on the couch?"""		)
											self.assertEqual(a_	,	"""2"""		)


							def _a   (				self		):
											a__					   =		Image.open(Path(get_tests_dir("""fixtures/tests_samples/COCO"""		)		) / """000000039769.png"""		)
											a__					   =		self.tool(image=a_	,	question="""How many cats are sleeping on the couch?"""		)
											self.assertEqual(a_	,	"""2"""		)







							def _a   (				self		):
											a__					   =		Image.open(Path(get_tests_dir("""fixtures/tests_samples/COCO"""		)		) / """000000039769.png"""		)
											a__					   =		self.remote_tool(image=a_	,	question="""How many cats are sleeping on the couch?"""		)
											self.assertEqual(a_	,	"""2"""		)





'''simple docstring'''



import unittest
import warnings
from dataclasses import dataclass

from transformers.convert_slow_tokenizer import SpmConverter
from transformers.testing_utils import get_tests_dir



@dataclass
class       a							:


     """simple docstring"""






     SCREAMING_SNAKE_CASE			:					str



class       a							(						unittest.TestCase			):


     """simple docstring"""






     def 					lowerCamelCase__					(							self	:						str     )		->				Dict:
          __UpperCAmelCase      :					str    				=     get_tests_dir('''fixtures/test_sentencepiece.model'''     )
          __UpperCAmelCase      :					List[Any]    				=     get_tests_dir('''fixtures/test_sentencepiece_with_bytefallback.model'''     )

          __UpperCAmelCase      :					Tuple    				=     FakeOriginalTokenizer(vocab_file=snake_case     )

          with warnings.catch_warnings(record=snake_case     ) as w:
               __UpperCAmelCase      :					Optional[int]    				=     SpmConverter(snake_case     )
          self.assertEqual(len(snake_case     )				,					0     )

          __UpperCAmelCase      :					str    				=     FakeOriginalTokenizer(vocab_file=snake_case     )

          with warnings.catch_warnings(record=snake_case     ) as w:
               __UpperCAmelCase      :					Optional[int]    				=     SpmConverter(snake_case     )
          self.assertEqual(len(snake_case     )				,					1     )

          self.assertIn(
              '''The sentencepiece tokenizer that you are converting to a fast tokenizer uses the byte fallback option'''
              ''' which is not implemented in the fast tokenizers.'''				,					str(w[0].message     )				,					)