



"""simple docstring"""






import os

import pytest

from datasets import (
    get_dataset_config_info,
    get_dataset_config_names,
    get_dataset_infos,
    get_dataset_split_names,
    inspect_dataset,
    inspect_metric,
)


_lowercase			:			List[Any]										=						pytest.mark.integration






@pytest.mark.parametrize('''path'''							,		['''paws''', '''csv''']     )
def 					snake_case__       (		__lowerCamelCase    :   int							,		__lowerCamelCase    :   Optional[int]     ):
   """simple docstring"""
   inspect_dataset(lowercase_							,		lowercase_     )
   lowerCamelCase__		:		Union[str, Any]		     =path + '''.py'''
   assert script_name in os.listdir(lowercase_     )
   assert "__pycache__" not in os.listdir(lowercase_     )






@pytest.mark.filterwarnings('''ignore:inspect_metric is deprecated:FutureWarning'''     )
@pytest.mark.filterwarnings('''ignore:metric_module_factory is deprecated:FutureWarning'''     )
@pytest.mark.parametrize('''path'''							,		['''accuracy''']     )
def 					snake_case__       (		__lowerCamelCase    :   str							,		__lowerCamelCase    :   Optional[Any]     ):
   """simple docstring"""
   inspect_metric(lowercase_							,		lowercase_     )
   lowerCamelCase__		:		Any		     =path + '''.py'''
   assert script_name in os.listdir(lowercase_     )
   assert "__pycache__" not in os.listdir(lowercase_     )






@pytest.mark.parametrize(
    '''path, config_name, expected_splits'''							,		[
        ('''squad''', '''plain_text''', ['''train''', '''validation''']),
        ('''dalle-mini/wit''', '''dalle-mini--wit''', ['''train''']),
        ('''paws''', '''labeled_final''', ['''train''', '''test''', '''validation''']),
    ]							,		)
def 					snake_case__       (		__lowerCamelCase    :   Any							,		__lowerCamelCase    :   Optional[Any]							,		__lowerCamelCase    :   List[Any]     ):
   """simple docstring"""
   lowerCamelCase__		:		Union[str, Any]		     =get_dataset_config_info(lowercase_							,		config_name=lowercase_     )
   assert info.config_name == config_name
   assert list(info.splits.keys()     ) == expected_splits






@pytest.mark.parametrize(
    '''path, config_name, expected_exception'''							,		[
        ('''paws''', None, ValueError),
    ]							,		)
def 					snake_case__       (		__lowerCamelCase    :   List[Any]							,		__lowerCamelCase    :   Any							,		__lowerCamelCase    :   Dict     ):
   """simple docstring"""
   with pytest.raises(lowercase_     ):
      get_dataset_config_info(lowercase_							,		config_name=lowercase_     )






@pytest.mark.parametrize(
    '''path, expected'''							,		[
        ('''squad''', '''plain_text'''),
        ('''acronym_identification''', '''default'''),
        ('''lhoestq/squad''', '''plain_text'''),
        ('''lhoestq/test''', '''default'''),
        ('''lhoestq/demo1''', '''lhoestq--demo1'''),
        ('''dalle-mini/wit''', '''dalle-mini--wit'''),
    ]							,		)
def 					snake_case__       (		__lowerCamelCase    :   Optional[int]							,		__lowerCamelCase    :   Any     ):
   """simple docstring"""
   lowerCamelCase__		:		List[str]		     =get_dataset_config_names(lowercase_     )
   assert expected in config_names






@pytest.mark.parametrize(
    '''path, expected_configs, expected_splits_in_first_config'''							,		[
        ('''squad''', ['''plain_text'''], ['''train''', '''validation''']),
        ('''dalle-mini/wit''', ['''dalle-mini--wit'''], ['''train''']),
        ('''paws''', ['''labeled_final''', '''labeled_swap''', '''unlabeled_final'''], ['''train''', '''test''', '''validation''']),
    ]							,		)
def 					snake_case__       (		__lowerCamelCase    :   List[Any]							,		__lowerCamelCase    :   Optional[Any]							,		__lowerCamelCase    :   Optional[int]     ):
   """simple docstring"""
   lowerCamelCase__		:		Tuple		     =get_dataset_infos(lowercase_     )
   assert list(infos.keys()     ) == expected_configs
   lowerCamelCase__		:		List[Any]		     =expected_configs[0]
   assert expected_config in infos
   lowerCamelCase__		:		int		     =infos[expected_config]
   assert info.config_name == expected_config
   assert list(info.splits.keys()     ) == expected_splits_in_first_config






@pytest.mark.parametrize(
    '''path, expected_config, expected_splits'''							,		[
        ('''squad''', '''plain_text''', ['''train''', '''validation''']),
        ('''dalle-mini/wit''', '''dalle-mini--wit''', ['''train''']),
        ('''paws''', '''labeled_final''', ['''train''', '''test''', '''validation''']),
    ]							,		)
def 					snake_case__       (		__lowerCamelCase    :   int							,		__lowerCamelCase    :   Optional[Any]							,		__lowerCamelCase    :   Union[str, Any]     ):
   """simple docstring"""
   lowerCamelCase__		:		Any		     =get_dataset_infos(lowercase_     )
   assert expected_config in infos
   lowerCamelCase__		:		Optional[Any]		     =infos[expected_config]
   assert info.config_name == expected_config
   assert list(info.splits.keys()     ) == expected_splits






@pytest.mark.parametrize(
    '''path, config_name, expected_exception'''							,		[
        ('''paws''', None, ValueError),
    ]							,		)
def 					snake_case__       (		__lowerCamelCase    :   List[Any]							,		__lowerCamelCase    :   Tuple							,		__lowerCamelCase    :   Union[str, Any]     ):
   """simple docstring"""
   with pytest.raises(lowercase_     ):
      get_dataset_split_names(lowercase_							,		config_name=lowercase_     )









"""simple docstring"""






def 					snake_case__       (		__lowerCamelCase    :   int							,		__lowerCamelCase    :   int     ):
			"""simple docstring"""
			return int((input_a, input_a).count(0     ) != 0     )






def 					snake_case__       (		):
			"""simple docstring"""
			assert nand_gate(0							,		0     ) == 1
			assert nand_gate(0							,		1     ) == 1
			assert nand_gate(1							,		0     ) == 1
			assert nand_gate(1							,		1     ) == 0


if __name__ == "__main__":
		print(nand_gate(0, 0))
		print(nand_gate(0, 1))
		print(nand_gate(1, 0))
		print(nand_gate(1, 1))




