




import os
import shutil
import unittest
from unittest.mock import patch

from transformers.testing_utils import CaptureStd, is_pt_tf_cross_test, require_torch
class       __a					( unittest.TestCase     ):


     """simple docstring"""


     @patch("""sys.argv"""				,["""fakeprogrampath""", """env"""]						)
     def   __A				(	self			: Dict						)		->   List[str]:


         '''simple docstring'''





         import transformers.commands.transformers_cli

         with CaptureStd() as cs:
             transformers.commands.transformers_cli.main()
         self.assertIn("""Python version"""				,cs.out						)
         self.assertIn("""Platform"""				,cs.out						)
         self.assertIn("""Using distributed or parallel set-up in script?"""				,cs.out						)




     @is_pt_tf_cross_test
     @patch(
         """sys.argv"""				,["""fakeprogrampath""", """pt-to-tf""", """--model-name""", """hf-internal-testing/tiny-random-gptj""", """--no-pr"""]						)
     def   __A				(	self			: Any						)		->   Optional[int]:


         '''simple docstring'''





         import transformers.commands.transformers_cli

         shutil.rmtree("""/tmp/hf-internal-testing/tiny-random-gptj"""				,ignore_errors=_UpperCamelCase						)  # cleans potential past runs
         transformers.commands.transformers_cli.main()

         # The original repo has no TF weights -- if they exist, they were created by the CLI
         self.assertTrue(os.path.exists("""/tmp/hf-internal-testing/tiny-random-gptj/tf_model.h5"""						)						)




     @require_torch
     @patch("""sys.argv"""				,["""fakeprogrampath""", """download""", """hf-internal-testing/tiny-random-gptj""", """--cache-dir""", """/tmp"""]						)
     def   __A				(	self			: Any						)		->   Optional[int]:


         '''simple docstring'''





         import transformers.commands.transformers_cli

         # # remove any previously downloaded model to start clean
         shutil.rmtree("""/tmp/models--hf-internal-testing--tiny-random-gptj"""				,ignore_errors=_UpperCamelCase						)

         # run the command
         transformers.commands.transformers_cli.main()

         # check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--tiny-random-gptj
         self.assertTrue(os.path.exists("""/tmp/models--hf-internal-testing--tiny-random-gptj/blobs"""						)						)
         self.assertTrue(os.path.exists("""/tmp/models--hf-internal-testing--tiny-random-gptj/refs"""						)						)
         self.assertTrue(os.path.exists("""/tmp/models--hf-internal-testing--tiny-random-gptj/snapshots"""						)						)




     @require_torch
     @patch(
         """sys.argv"""				,[
             """fakeprogrampath""",
             """download""",
             """hf-internal-testing/test_dynamic_model_with_tokenizer""",
             """--trust-remote-code""",
             """--cache-dir""",
             """/tmp""",
         ]				,)
     def   __A				(	self			: List[str]						)		->   int:


         '''simple docstring'''





         import transformers.commands.transformers_cli

         # # remove any previously downloaded model to start clean
         shutil.rmtree("""/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer"""				,ignore_errors=_UpperCamelCase						)

         # run the command
         transformers.commands.transformers_cli.main()

         # check if the model files are downloaded correctly on /tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer
         self.assertTrue(os.path.exists("""/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/blobs"""						)						)
         self.assertTrue(os.path.exists("""/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/refs"""						)						)
         self.assertTrue(
             os.path.exists("""/tmp/models--hf-internal-testing--test_dynamic_model_with_tokenizer/snapshots"""						)						)












def 	UpperCAmelCase_    (	__UpperCamelCase	):
    if not isinstance(__UpperCamelCase,				__UpperCamelCase	):
        raise ValueError("""double_factorial() only accepts integral values"""	)
    if n < 0:
        raise ValueError("""double_factorial() not defined for negative values"""	)
    return 1 if n <= 1 else n * double_factorial(n - 2	)


if __name__ == "__main__":
    import doctest

    doctest.testmod()






