


'''simple docstring'''


from typing import TYPE_CHECKING

from ...utils import (
    OptionalDependencyNotAvailable,
    _LazyModule,
    is_sentencepiece_available,
    is_speech_available,
    is_torch_available,
)


UpperCAmelCase_		:   Optional[Any]							   =		{
    'configuration_trocr': ['TROCR_PRETRAINED_CONFIG_ARCHIVE_MAP', 'TrOCRConfig'],
    'processing_trocr': ['TrOCRProcessor'],
}


try:
				if not is_torch_available():
								raise OptionalDependencyNotAvailable()
except OptionalDependencyNotAvailable:
				pass
else:
				UpperCAmelCase_		:   Union[str, Any]							   =		[
				    'TROCR_PRETRAINED_MODEL_ARCHIVE_LIST',
				    'TrOCRForCausalLM',
				    'TrOCRPreTrainedModel',
				]


if TYPE_CHECKING:
				from .configuration_trocr import TROCR_PRETRAINED_CONFIG_ARCHIVE_MAP, TrOCRConfig
				from .processing_trocr import TrOCRProcessor

				try:
								if not is_torch_available():
												raise OptionalDependencyNotAvailable()
				except OptionalDependencyNotAvailable:
								pass
				else:
								from .modeling_trocr import TROCR_PRETRAINED_MODEL_ARCHIVE_LIST, TrOCRForCausalLM, TrOCRPreTrainedModel

else:
				import sys

				UpperCAmelCase_		:   int							   =		_LazyModule(__name__, globals()['__file__'], _import_structure, module_spec=__spec__)








'''simple docstring'''


import unittest

from knapsack import greedy_knapsack as kp





class     lowercase__  (						unittest.TestCase					):





							'''simple docstring'''


							def UpperCAmelCase_	(    self  ):
											_SCREAMING_SNAKE_CASE :       str     		=      [10, 20, 30, 40, 50, 60]
											_SCREAMING_SNAKE_CASE :       List[str]     		=      [2, 4, 6, 8, 10, 12]
											_SCREAMING_SNAKE_CASE :       str     		=      100
											self.assertEqual(kp.calc_profit(__snake_case    ,					__snake_case    ,					__snake_case  )    ,					210  )






							def UpperCAmelCase_	(    self  ):
											self.assertRaisesRegex(__snake_case    ,					"""max_weight must greater than zero."""  )






							def UpperCAmelCase_	(    self  ):
											self.assertRaisesRegex(__snake_case    ,					"""Weight can not be negative."""  )






							def UpperCAmelCase_	(    self  ):
											self.assertRaisesRegex(__snake_case    ,					"""Profit can not be negative."""  )






							def UpperCAmelCase_	(    self  ):
											self.assertRaisesRegex(__snake_case    ,					"""max_weight must greater than zero."""  )






							def UpperCAmelCase_	(    self  ):
											self.assertRaisesRegex(
											    __snake_case    ,					"""The length of profit and weight must be same."""  )


if __name__ == "__main__":
				unittest.main()




