



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

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

import _pytest

from transformers.testing_utils import HfDoctestModule, HfDocTestParser


# allow having multiple repository checkouts and not needing to remember to rerun
# 'pip install -e .[dev]' when switching between checkouts and running tests.
SCREAMING_SNAKE_CASE_:int					=						abspath(join(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		)	->  Any:



    """simple docstring"""






    config.addinivalue_line(
        """markers"""				,					"""is_pt_tf_cross_test: mark test to run only when PT and TF interactions are tested"""		)
    config.addinivalue_line(
        """markers"""				,					"""is_pt_flax_cross_test: mark test to run only when PT and FLAX interactions are tested"""		)
    config.addinivalue_line("""markers"""				,					"""is_pipeline_test: mark test to run only when pipelines are tested"""		)
    config.addinivalue_line("""markers"""				,					"""is_staging_test: mark test to run only in the staging environment"""		)
    config.addinivalue_line("""markers"""				,					"""accelerate_tests: mark test that require accelerate"""		)
    config.addinivalue_line("""markers"""				,					"""tool_tests: mark the tool tests that are run on their specific schedule"""		)




def      __UpperCamelCase     (  _lowerCAmelCase		)	->  int:



    """simple docstring"""






    from transformers.testing_utils import pytest_addoption_shared

    pytest_addoption_shared(_lowerCAmelCase		)




def      __UpperCamelCase     (  _lowerCAmelCase		)	->  Dict:



    """simple docstring"""






    from transformers.testing_utils import pytest_terminal_summary_main

    A			:	Optional[int]										=       terminalreporter.config.getoption("""--make-reports"""		)
    if make_reports:
        pytest_terminal_summary_main(_lowerCAmelCase				,					id=_lowerCAmelCase		)




def      __UpperCamelCase     (  _lowerCAmelCase				,					_lowerCAmelCase		)	->  Optional[Any]:



    """simple docstring"""






    if exitstatus == 5:
        A			:	Optional[Any]										=       0


# Doctest custom flag to ignore output.
SCREAMING_SNAKE_CASE_:List[Any]					=						doctest.register_optionflag("""IGNORE_RESULT""")

SCREAMING_SNAKE_CASE_:List[str]					=						doctest.OutputChecker






class SCREAMING_SNAKE_CASE__					(		SCREAMING_SNAKE_CASE__   ):




    '''simple docstring'''






    def       _lowerCAmelCase (	self,		lowerCamelCase__,		lowerCamelCase__,		lowerCamelCase__		):
        if IGNORE_RESULT & optionflags:
            return True
        return OutputChecker.check_output(self,		lowerCamelCase__,		lowerCamelCase__,		lowerCamelCase__		)


SCREAMING_SNAKE_CASE_:List[Any]					=						CustomOutputChecker
SCREAMING_SNAKE_CASE_:Tuple					=						HfDoctestModule




SCREAMING_SNAKE_CASE_:Optional[Any]					=						HfDocTestParser







from collections import defaultdict

from graphs.minimum_spanning_tree_prims import prisms_algorithm as mst




def      __UpperCamelCase     (  )	->  Tuple:



    """simple docstring"""






    A					,							A			:	Tuple										=       9, 14  # noqa: F841
    A			:	Optional[int]										=       [
        [0, 1, 4],
        [0, 7, 8],
        [1, 2, 8],
        [7, 8, 7],
        [7, 6, 1],
        [2, 8, 2],
        [8, 6, 6],
        [2, 3, 7],
        [2, 5, 4],
        [6, 5, 2],
        [3, 5, 14],
        [3, 4, 9],
        [5, 4, 10],
        [1, 7, 11],
    ]

    A			:	int										=       defaultdict(_lowerCAmelCase		)
    for nodea, nodea, cost in edges:
        adjancency[nodea].append([nodea, cost]		)
        adjancency[nodea].append([nodea, cost]		)

    A			:	List[str]										=       mst(_lowerCAmelCase		)

    A			:	str										=       [
        [7, 6, 1],
        [2, 8, 2],
        [6, 5, 2],
        [0, 1, 4],
        [2, 5, 4],
        [2, 3, 7],
        [0, 7, 8],
        [3, 4, 9],
    ]

    for answer in expected:
        A			:	Dict										=       tuple(answer[:2]		)
        A			:	List[str]										=       tuple(edge[::-1]		)
        assert edge in result or reverse in result


