

import unittest

from knapsack import greedy_knapsack as kp



class 					_a		(unittest.TestCase       ):


					'''simple docstring'''






					def 						__A    (				self    ):
						A__							:					Optional[int]       =	[10, 20, 30, 40, 50, 60]
						A__							:					str       =	[2, 4, 6, 8, 10, 12]
						A__							:					Union[str, Any]       =	100
						self.assertEqual(kp.calc_profit(A__					, A__					, A__    )					, 210    )






					def 						__A    (				self    ):
						self.assertRaisesRegex(A__					, """max_weight must greater than zero."""    )






					def 						__A    (				self    ):
						self.assertRaisesRegex(A__					, """Weight can not be negative."""    )






					def 						__A    (				self    ):
						self.assertRaisesRegex(A__					, """Profit can not be negative."""    )






					def 						__A    (				self    ):
						self.assertRaisesRegex(A__					, """max_weight must greater than zero."""    )






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


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







def 		UpperCamelCase      (lowercase_:				str					,   lowercase_:				str      )  ->   bool:
	A__							:					Union[str, Any]       =	len(lowercase_      )
	A__							:					List[Any]       =	len(lowercase_      )
	A__							:					List[Any]       =	[[False for _ in range(m + 1      )] for _ in range(n + 1      )]
	A__							:					str       =	True
	for i in range(lowercase_      ):
		for j in range(m + 1      ):
			if dp[i][j]:
				if j < m and a[i].upper() == b[j]:
					A__							:					int       =	True
				if a[i].islower():
					A__							:					Dict       =	True
	return dp[n][m]


if __name__ == "__main__":
	import doctest

	doctest.testmod()



