

"""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,
)


__A						       =      pytest.mark.integration






@pytest.mark.parametrize("path" ,			["paws", "csv"]			)
def    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     Optional[Any]:
		inspect_dataset(__SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)
		__lowerCAmelCase:	str   				=      path + ".py"
		assert script_name in os.listdir(__SCREAMING_SNAKE_CASE			)
		assert "__pycache__" not in os.listdir(__SCREAMING_SNAKE_CASE			)






@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    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     Tuple:
		inspect_metric(__SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)
		__lowerCAmelCase:	Tuple   				=      path + ".py"
		assert script_name in os.listdir(__SCREAMING_SNAKE_CASE			)
		assert "__pycache__" not in os.listdir(__SCREAMING_SNAKE_CASE			)






@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    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     int:
		__lowerCAmelCase:	List[str]   				=      get_dataset_config_info(__SCREAMING_SNAKE_CASE ,			config_name=__SCREAMING_SNAKE_CASE			)
		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    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     Tuple:
		with pytest.raises(__SCREAMING_SNAKE_CASE			):
				get_dataset_config_info(__SCREAMING_SNAKE_CASE ,			config_name=__SCREAMING_SNAKE_CASE			)






@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    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     Union[str, Any]:
		__lowerCAmelCase:	Union[str, Any]   				=      get_dataset_config_names(__SCREAMING_SNAKE_CASE			)
		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    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     Union[str, Any]:
		__lowerCAmelCase:	Union[str, Any]   				=      get_dataset_infos(__SCREAMING_SNAKE_CASE			)
		assert list(infos.keys()			) == expected_configs
		__lowerCAmelCase:	Tuple   				=      expected_configs[0]
		assert expected_config in infos
		__lowerCAmelCase:	str   				=      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    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     List[Any]:
		__lowerCAmelCase:	Tuple   				=      get_dataset_infos(__SCREAMING_SNAKE_CASE			)
		assert expected_config in infos
		__lowerCAmelCase:	Tuple   				=      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    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     Optional[Any]:
		with pytest.raises(__SCREAMING_SNAKE_CASE			):
				get_dataset_split_names(__SCREAMING_SNAKE_CASE ,			config_name=__SCREAMING_SNAKE_CASE			)





"""simple docstring"""


def    a__   (   __SCREAMING_SNAKE_CASE ,			__SCREAMING_SNAKE_CASE			)     ->     int:
		return int((input_a, input_a).count(0			) == 0			)






def    a__   (   )     ->     None:
		assert and_gate(0 ,			0			) == 0
		assert and_gate(0 ,			1			) == 0
		assert and_gate(1 ,			0			) == 0
		assert and_gate(1 ,			1			) == 1


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


