





'''simple docstring'''

from __future__ import annotations





def lowerCamelCase		(  __lowerCamelCase				:					list[int]      , __lowerCamelCase				:					int					)		->int:
    _SCREAMING_SNAKE_CASE       , _SCREAMING_SNAKE_CASE             =    0, len(__lowerCamelCase					) - 1
    while start_ind <= end_ind:
        if array[start_ind] == search_item:
            return start_ind
        elif array[end_ind] == search_item:
            return end_ind
        else:
            start_ind += 1
            end_ind -= 1
    # returns -1 if search_item is not found in array
    return -1


if __name__ == "__main__":
      print(double_linear_search(list(range(100)), 40))










'''simple docstring'''

import json
import os
import tempfile
import unittest

from transformers.modelcard import ModelCard


class       a_  (       unittest.TestCase ):

    '''simple docstring'''


    def     snake_case_(	self )	->     int:
        _SCREAMING_SNAKE_CASE             =    {
            """model_details""": {
                """Organization""": """testing""",
                """Model date""": """today""",
                """Model version""": """v2.1, Developed by Test Corp in 2019.""",
                """Architecture""": """Convolutional Neural Network.""",
            },
            """metrics""": """BLEU and ROUGE-1""",
            """evaluation_data""": {
                """Datasets""": {"""BLEU""": """My-great-dataset-v1""", """ROUGE-1""": """My-short-dataset-v2.1"""},
                """Preprocessing""": """See details on https://arxiv.org/pdf/1810.03993.pdf""",
            },
            """training_data""": {
                """Dataset""": """English Wikipedia dump dated 2018-12-01""",
                """Preprocessing""": (
                    """Using SentencePiece vocabulary of size 52k tokens. See details on"""
                    """ https://arxiv.org/pdf/1810.03993.pdf"""
                ),
            },
            """quantitative_analyses""": {"""BLEU""": 55.1, """ROUGE-1""": 76},
        }


    def     snake_case_(	self )	->     Tuple:
        _SCREAMING_SNAKE_CASE             =    ModelCard.from_dict(self.inputs_dict )
        self.assertTrue(hasattr(A				,	"""model_details""" ) )
        self.assertTrue(hasattr(A				,	"""intended_use""" ) )
        self.assertTrue(hasattr(A				,	"""factors""" ) )
        self.assertTrue(hasattr(A				,	"""metrics""" ) )
        self.assertTrue(hasattr(A				,	"""evaluation_data""" ) )
        self.assertTrue(hasattr(A				,	"""training_data""" ) )
        self.assertTrue(hasattr(A				,	"""quantitative_analyses""" ) )
        self.assertTrue(hasattr(A				,	"""ethical_considerations""" ) )
        self.assertTrue(hasattr(A				,	"""caveats_and_recommendations""" ) )


    def     snake_case_(	self )	->     List[str]:
        _SCREAMING_SNAKE_CASE             =    ModelCard.from_dict(self.inputs_dict )
        _SCREAMING_SNAKE_CASE             =    json.loads(modelcard.to_json_string() )
        for key, value in self.inputs_dict.items():
            self.assertEqual(obj[key]				,	A )


    def     snake_case_(	self )	->     Any:
        _SCREAMING_SNAKE_CASE             =    ModelCard.from_dict(self.inputs_dict )

        with tempfile.TemporaryDirectory() as tmpdirname:
            _SCREAMING_SNAKE_CASE             =    os.path.join(A				,	"""modelcard.json""" )
            model_card_first.to_json_file(A )
            _SCREAMING_SNAKE_CASE             =    ModelCard.from_json_file(A )

        self.assertEqual(model_card_second.to_dict()				,	model_card_first.to_dict() )





    def     snake_case_(	self )	->     List[Any]:
        _SCREAMING_SNAKE_CASE             =    ModelCard.from_dict(self.inputs_dict )

        with tempfile.TemporaryDirectory() as tmpdirname:
            model_card_first.save_pretrained(A )
            _SCREAMING_SNAKE_CASE             =    ModelCard.from_pretrained(A )

        self.assertEqual(model_card_second.to_dict()				,	model_card_first.to_dict() )



