'''simple docstring'''
from typing import TYPE_CHECKING

from ...utils import OptionalDependencyNotAvailable, _LazyModule, is_torch_available


a=  {
    '''configuration_megatron_bert''': ['''MEGATRON_BERT_PRETRAINED_CONFIG_ARCHIVE_MAP''', '''MegatronBertConfig'''],
}

try:
  if not is_torch_available():
    raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
  pass
else:
  a=  [
      '''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

  a=  _LazyModule(__name__, globals()['''__file__'''], _import_structure, module_spec=__spec__)


'''simple docstring'''
import os
import unittest

from transformers import LayoutLMTokenizer, LayoutLMTokenizerFast
from transformers.models.layoutlm.tokenization_layoutlm import VOCAB_FILES_NAMES
from transformers.testing_utils import require_tokenizers

from ...test_tokenization_common import TokenizerTesterMixin






@require_tokenizers
class 			__lowercase		(						_lowerCamelCase			,							unittest.TestCase						):







     """simple docstring"""






     SCREAMING_SNAKE_CASE__		   =						LayoutLMTokenizer
     SCREAMING_SNAKE_CASE__		   =						LayoutLMTokenizerFast
     SCREAMING_SNAKE_CASE__		   =						True
     SCREAMING_SNAKE_CASE__		   =						True







     def lowerCAmelCase     (		self    ):
         super().setUp()

         __UpperCamelCase	:	List[str]		    =  [
             '[UNK]',
             '[CLS]',
             '[SEP]',
             'want',
             '##want',
             '##ed',
             'wa',
             'un',
             'runn',
             '##ing',
             ',',
             'low',
             'lowest',
         ]
         __UpperCamelCase	:	Union[str, Any]		    =  os.path.join(self.tmpdirname     ,			VOCAB_FILES_NAMES['vocab_file']    )
         with open(self.vocab_file     ,			'w'     ,			encoding='utf-8'    ) as vocab_writer:
             vocab_writer.write(''.join([x + '\n' for x in vocab_tokens]    )    )







     def lowerCAmelCase     (		self     ,			**_lowerCamelCase    ):
         return LayoutLMTokenizer.from_pretrained(self.tmpdirname     ,			**_lowerCamelCase    )







     def lowerCAmelCase     (		self     ,			_lowerCamelCase    ):
         __UpperCamelCase	:	Dict		    =  'UNwant\u00E9d,running'
         __UpperCamelCase	:	Union[str, Any]		    =  'unwanted, running'
         return input_text, output_text







     def lowerCAmelCase     (		self    ):
         __UpperCamelCase	:	Dict		    =  self.tokenizer_class(self.vocab_file    )

         __UpperCamelCase	:	Optional[Any]		    =  tokenizer.tokenize('UNwant\u00E9d,running'    )
         self.assertListEqual(_lowerCamelCase     ,			['un', '##want', '##ed', ',', 'runn', '##ing']    )
         self.assertListEqual(tokenizer.convert_tokens_to_ids(_lowerCamelCase    )     ,			[7, 4, 5, 1_0, 8, 9]    )







     def lowerCAmelCase     (		self    ):
         pass



