






# tests directory-specific settings - this file is run automatically
# by pytest before any tests are run

import sys
import warnings
from os.path import abspath, dirname, join


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
snake_case_   :	List[str]							      =abspath(join(dirname(dirname(dirname(__file__))), '''src'''))
sys.path.insert(1, git_repo_path)


# silence FutureWarning warnings in tests since often we can't act on them until
# they become normal warnings - i.e. the tests still need to test the current functionality
warnings.simplefilter(action='''ignore''', category=FutureWarning)



def      UpperCAmelCase						( lowerCAmelCase__	):


		'''simple docstring'''

		from transformers.testing_utils import pytest_addoption_shared

		pytest_addoption_shared(lowerCAmelCase__	)





def      UpperCAmelCase						( lowerCAmelCase__	):


		'''simple docstring'''

		from transformers.testing_utils import pytest_terminal_summary_main

		__A    =							terminalreporter.config.getoption("--make-reports"	)
		if make_reports:
				pytest_terminal_summary_main(lowerCAmelCase__					,     id=lowerCAmelCase__	)









def      UpperCAmelCase						( lowerCAmelCase__					,     lowerCAmelCase__	):


		'''simple docstring'''

		if n < 0:
				return 0
		# table[i] represents the number of ways to get to amount i
		__A    =							[0] * (n + 1)

		# There is exactly 1 way to get to zero(You pick no coins).
		__A    =							1

		# Pick all coins one by one and update table[] values
		# after the index greater than or equal to the value of the
		# picked coin
		for coin_val in s:
				for j in range(lowerCAmelCase__					,     n + 1	):
						table[j] += table[j - coin_val]

		return table[n]


if __name__ == "__main__":
					import doctest

					doctest.testmod()

