"""simple docstring"""






from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


lowerCAmelCase__  :  Optional[int]						     =	{
    'configuration_megatron_bert': ['MEGATRON_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP', 'MegatronBertConfig'],
}

try:
						if not is_torch_available():
												raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
						pass
else:
						lowerCAmelCase__  :  str						     =	[
						    'MEGATRON_BERT_PRETRAINED_MODEL_ARCHIVE_LIST',
						    'MegatronBertForCausalLM',
						    'MegatronBertForMaskedLM',
						    'MegatronBertForMultipleChoice',
						    'MegatronBertForNextSentencePrediction',
						    'MegatronBertForPreTraining',
						    'MegatronBertForQuestionAnswering',
						    'MegatronBertForSequenceClassification',
						    'MegatronBertForTokenClassification',
						    'MegatronBertModel',
						    'MegatronBertPreTrainedModel',
						]

if TYPE_CHECKING:
						from .configuration_megatron_bert import MEGATRON_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP, MegatronBertConfig

						try:
												if not is_torch_available():
																		raise OptionalDependencyNotAvailable()
						except OptionalDependencyNotAvailable:
												pass
						else:
												from .modeling_megatron_bert import (
												    MEGATRON_BERT_PRETRAINED_MODEL_ARCHIVE_LIST,
												    MegatronBertForCausalLM,
												    MegatronBertForMaskedLM,
												    MegatronBertForMultipleChoice,
												    MegatronBertForNextSentencePrediction,
												    MegatronBertForPreTraining,
												    MegatronBertForQuestionAnswering,
												    MegatronBertForSequenceClassification,
												    MegatronBertForTokenClassification,
												    MegatronBertModel,
												    MegatronBertPreTrainedModel,
												)

else:
						import sys

						lowerCAmelCase__  :  Union[str, Any]						     =	_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)




"""simple docstring"""






import os
import sys
import unittest


lowerCAmelCase__  :  Tuple						     =	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,
)


lowerCAmelCase__  :  Tuple						     =	os.path.join('tests', 'models', 'bert', 'test_modeling_bert.py')
lowerCAmelCase__  :  Optional[Any]						     =	os.path.join('tests', 'models', 'blip', 'test_modeling_blip.py')
class 				snake_case       ( unittest.TestCase				):




					"""simple docstring"""

					def 		__lowerCAmelCase						(				self   :	List[str]			):
									UpperCAmelCase__             =							get_test_to_tester_mapping(lowerCamelCase__			)
									UpperCAmelCase__             =							get_test_to_tester_mapping(lowerCamelCase__			)

									UpperCAmelCase__             =							{'BertModelTest': 'BertModelTester'}

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

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







					def 		__lowerCAmelCase						(				self   :	Optional[Any]			):
									UpperCAmelCase__             =							get_model_to_test_mapping(lowerCamelCase__			)
									UpperCAmelCase__             =							get_model_to_test_mapping(lowerCamelCase__			)

									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(lowerCamelCase__			)    ,lowerCamelCase__			)
									self.assertEqual(get_test_info.to_json(lowerCamelCase__			)    ,lowerCamelCase__			)







					def 		__lowerCAmelCase						(				self   :	int			):
									UpperCAmelCase__             =							get_model_to_tester_mapping(lowerCamelCase__			)
									UpperCAmelCase__             =							get_model_to_tester_mapping(lowerCamelCase__			)

									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(lowerCamelCase__			)    ,lowerCamelCase__			)
									self.assertEqual(get_test_info.to_json(lowerCamelCase__			)    ,lowerCamelCase__			)



