# Path: py_algorithms/challenges/coderbyte/array_addition.py
# class ArrayAddition:
#     def __call__(self, arr: List[int]) -> bool:
#         max_num = max(arr)
#         arr.remove(max_num)
#         return self._test(arr, max_num)
# 
#     @classmethod
#     def _test(cls, arr: List[int], max_num: int) -> bool:
#         for x in arr:
#             # Found, return early
#             if x == max_num:
#                 return True
#             # clone current list
#             c_arr = list(arr)
#             # remove used number
#             c_arr.remove(x)
#             # recur test, for target - removed value
#             if cls._test(c_arr, max_num - x):
#                 return True
#         # Target not found
#         return False


from py_algorithms.challenges.coderbyte.array_addition import ArrayAddition


class ArrayAdditionTest:
    def test_impl(self):
        inputs = {
            True: [4, 6, 23, 10, 1, 3],
            False: [4, 6, 123, 10, 1, 3]

# Path: py_algorithms/challenges/coderbyte/array_addition.py
# class ArrayAddition:
#     def __call__(self, arr: List[int]) -> bool:
#         max_num = max(arr)
#         arr.remove(max_num)
#         return self._test(arr, max_num)
# 
#     @classmethod
#     def _test(cls, arr: List[int], max_num: int) -> bool:
#         for x in arr:
#             # Found, return early
#             if x == max_num:
#                 return True
#             # clone current list
#             c_arr = list(arr)
#             # remove used number
#             c_arr.remove(x)
#             # recur test, for target - removed value
#             if cls._test(c_arr, max_num - x):
#                 return True
#         # Target not found
#         return False


# Path: tests/py_algorithms/challenges/coderbyte/array_addition_test.py
from py_algorithms.challenges.coderbyte.array_addition import ArrayAddition



class ArrayAdditionTest:
    def test_impl(self):
        inputs = {
            True: [4, 6, 23, 10, 1, 3],
            False: [4, 6, 123, 10, 1, 3]

        }