





"""simple docstring"""


def 							a__	(     _UpperCAmelCase		)			->     int:

 '''simple docstring'''






 if number != int(_UpperCAmelCase		):
  raise ValueError("factorial() only accepts integral values"		)
 if number < 0:
  raise ValueError("factorial() not defined for negative values"		)
 snake_case__										= 1
 for i in range(1		,   number + 1		):
  value *= i
 return value





def 							a__	(     _UpperCAmelCase		)			->     int:

 '''simple docstring'''






 if not isinstance(_UpperCAmelCase		,   _UpperCAmelCase		):
  raise ValueError("factorial() only accepts integral values"		)
 if n < 0:
  raise ValueError("factorial() not defined for negative values"		)
 return 1 if n == 0 or n == 1 else n * factorial(n - 1		)


if __name__ == "__main__":
   import doctest

   doctest.testmod()

   a__    :   str    						= int(input("""Enter a positive integer: """).strip() or 0)
   print(f'''factorial{n} is {factorial(n)}''')








'''simple docstring'''







import unittest
from pathlib import Path
from tempfile import TemporaryDirectory
from unittest.mock import Mock, patch

import diffusers.utils.hub_utils





class     _UpperCAmelCase							(						unittest.TestCase   ):
		@patch("""diffusers.utils.hub_utils.get_full_repo_name"""			)
		def   lowerCamelCase__			(  self,__SCREAMING_SNAKE_CASE			):



					'''simple docstring'''

					__lowerCAmelCase											=				"""full_repo_name"""
					with TemporaryDirectory() as tmpdir:
								# Dummy args values
								__lowerCAmelCase											=				Mock()
								__lowerCAmelCase											=				tmpdir
								__lowerCAmelCase											=				0
								__lowerCAmelCase											=				"""hub_token"""
								__lowerCAmelCase											=				"""dataset_name"""
								__lowerCAmelCase											=				0.01
								__lowerCAmelCase											=				10_00_00
								__lowerCAmelCase											=				1_00_00
								__lowerCAmelCase											=				0.01
								__lowerCAmelCase											=				0.02
								__lowerCAmelCase											=				0.03
								__lowerCAmelCase											=				0.0005
								__lowerCAmelCase											=				0.00_0001
								__lowerCAmelCase											=				1
								__lowerCAmelCase											=				10
								__lowerCAmelCase											=				0.001
								__lowerCAmelCase											=				0.1
								__lowerCAmelCase											=				0.2
								__lowerCAmelCase											=				True

								# Model card mush be rendered and saved
								diffusers.utils.hub_utils.create_model_card(__SCREAMING_SNAKE_CASE,model_name="""model_name"""			)
								self.assertTrue((Path(__SCREAMING_SNAKE_CASE			) / """README.md""").is_file()			)

