
"""simple docstring"""

import os
import sys
import unittest


SCREAMING_SNAKE_CASE_    					=						os.path.abspath(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
sys.path.append(os.path.join(git_repo_path, '''utils'''))

import get_test_info  # noqa: E402
from get_test_info import (  # noqa: E402
    get_model_to_test_mapping,
    get_model_to_tester_mapping,
    get_test_to_tester_mapping,
)


SCREAMING_SNAKE_CASE_    					=						os.path.join('''tests''', '''models''', '''bert''', '''test_modeling_bert.py''')
SCREAMING_SNAKE_CASE_    					=						os.path.join('''tests''', '''models''', '''blip''', '''test_modeling_blip.py''')
class      _UpperCAmelCase							(		unittest.TestCase							):




						def     a_      (							self							)						->					str:
										UpperCAmelCase									=					get_test_to_tester_mapping(lowercase_							)
										UpperCAmelCase									=					get_test_to_tester_mapping(lowercase_							)

										UpperCAmelCase									=					{'BertModelTest': 'BertModelTester'}

										UpperCAmelCase									=					{
										    'BlipModelTest': 'BlipModelTester',
										    'BlipTextImageModelTest': 'BlipTextImageModelsModelTester',
										    'BlipTextModelTest': 'BlipTextModelTester',
										    'BlipTextRetrievalModelTest': 'BlipTextRetrievalModelTester',
										    'BlipVQAModelTest': 'BlipVQAModelTester',
										    'BlipVisionModelTest': 'BlipVisionModelTester',
										}

										self.assertEqual(get_test_info.to_json(lowercase_							)   ,       lowercase_							)
										self.assertEqual(get_test_info.to_json(lowercase_							)   ,       lowercase_							)




						def     a_      (							self							)						->					str:
										UpperCAmelCase									=					get_model_to_test_mapping(lowercase_							)
										UpperCAmelCase									=					get_model_to_test_mapping(lowercase_							)

										UpperCAmelCase									=					{
										    'BertForMaskedLM': ['BertModelTest'],
										    'BertForMultipleChoice': ['BertModelTest'],
										    'BertForNextSentencePrediction': ['BertModelTest'],
										    'BertForPreTraining': ['BertModelTest'],
										    'BertForQuestionAnswering': ['BertModelTest'],
										    'BertForSequenceClassification': ['BertModelTest'],
										    'BertForTokenClassification': ['BertModelTest'],
										    'BertLMHeadModel': ['BertModelTest'],
										    'BertModel': ['BertModelTest'],
										}

										UpperCAmelCase									=					{
										    'BlipForConditionalGeneration': ['BlipTextImageModelTest'],
										    'BlipForImageTextRetrieval': ['BlipTextRetrievalModelTest'],
										    'BlipForQuestionAnswering': ['BlipVQAModelTest'],
										    'BlipModel': ['BlipModelTest'],
										    'BlipTextModel': ['BlipTextModelTest'],
										    'BlipVisionModel': ['BlipVisionModelTest'],
										}

										self.assertEqual(get_test_info.to_json(lowercase_							)   ,       lowercase_							)
										self.assertEqual(get_test_info.to_json(lowercase_							)   ,       lowercase_							)




						def     a_      (							self							)						->					List[Any]:
										UpperCAmelCase									=					get_model_to_tester_mapping(lowercase_							)
										UpperCAmelCase									=					get_model_to_tester_mapping(lowercase_							)

										UpperCAmelCase									=					{
										    'BertForMaskedLM': ['BertModelTester'],
										    'BertForMultipleChoice': ['BertModelTester'],
										    'BertForNextSentencePrediction': ['BertModelTester'],
										    'BertForPreTraining': ['BertModelTester'],
										    'BertForQuestionAnswering': ['BertModelTester'],
										    'BertForSequenceClassification': ['BertModelTester'],
										    'BertForTokenClassification': ['BertModelTester'],
										    'BertLMHeadModel': ['BertModelTester'],
										    'BertModel': ['BertModelTester'],
										}

										UpperCAmelCase									=					{
										    'BlipForConditionalGeneration': ['BlipTextImageModelsModelTester'],
										    'BlipForImageTextRetrieval': ['BlipTextRetrievalModelTester'],
										    'BlipForQuestionAnswering': ['BlipVQAModelTester'],
										    'BlipModel': ['BlipModelTester'],
										    'BlipTextModel': ['BlipTextModelTester'],
										    'BlipVisionModel': ['BlipVisionModelTester'],
										}

										self.assertEqual(get_test_info.to_json(lowercase_							)   ,       lowercase_							)
										self.assertEqual(get_test_info.to_json(lowercase_							)   ,       lowercase_							)





"""simple docstring"""

from abc import ABC, abstractmethod
from argparse import ArgumentParser
class      _UpperCAmelCase							(		SCREAMING_SNAKE_CASE_							):




      @staticmethod
      @abstractmethod
      def     a_      (							lowercase_							)						->					Optional[Any]:
          raise NotImplementedError()




      @abstractmethod
      def     a_      (							self							)						->					Any:
          raise NotImplementedError()



