
'''simple docstring'''




import pytest

from datasets.splits import SplitDict, SplitInfo
from datasets.utils.py_utils import asdict







@pytest.mark.parametrize(
    '''split_dict'''		,				[
        SplitDict(),
        SplitDict({'''train''': SplitInfo(name='''train'''		,				num_bytes=1337		,				num_examples=42		,				dataset_name='''my_dataset'''						)}						),
        SplitDict({'''train''': SplitInfo(name='''train'''		,				num_bytes=1337		,				num_examples=42						)}						),
        SplitDict({'''train''': SplitInfo()}						),
    ]		,				)
def 		lowerCAmelCase_				(   snake_case__						):




    '''simple docstring'''



    A       :   List[Any]					=						split_dict._to_yaml_list()
    assert len(snake_case__						) == len(snake_case__						)
    A       :   Optional[int]					=						SplitDict._from_yaml_list(snake_case__						)
    for split_name, split_info in split_dict.items():
        # dataset_name field is deprecated, and is therefore not part of the YAML dump
        A       :   str					=						None
        # the split name of split_dict takes over the name of the split info object
        A       :   Any					=						split_name
    assert split_dict == reloaded







@pytest.mark.parametrize(
    '''split_info'''		,				[SplitInfo(), SplitInfo(dataset_name=snake_case__						), SplitInfo(dataset_name='''my_dataset'''						)]						)
def 		lowerCAmelCase_				(   snake_case__						):




    '''simple docstring'''



    A       :   Optional[int]					=						asdict(SplitDict({'''train''': split_info}						)						)
    assert "dataset_name" in split_dict_asdict["train"]
    assert split_dict_asdict["train"]["dataset_name"] == split_info.dataset_name






'''simple docstring'''




import pytest

import datasets.config
from datasets.utils.info_utils import is_small_dataset







@pytest.mark.parametrize('''dataset_size'''		,				[None, 400 * 2**20, 600 * 2**20]						)
@pytest.mark.parametrize('''input_in_memory_max_size'''		,				['''default''', 0, 100 * 2**20, 900 * 2**20]						)
def 		lowerCAmelCase_				(   snake_case__		,				snake_case__		,				snake_case__						):




    '''simple docstring'''



    if input_in_memory_max_size != "default":
        monkeypatch.setattr(datasets.config		,				'''IN_MEMORY_MAX_SIZE'''		,				snake_case__						)
    A       :   Dict					=						datasets.config.IN_MEMORY_MAX_SIZE
    if input_in_memory_max_size == "default":
        assert in_memory_max_size == 0
    else:
        assert in_memory_max_size == input_in_memory_max_size
    if dataset_size and in_memory_max_size:
        A       :   Dict					=						dataset_size < in_memory_max_size
    else:
        A       :   Tuple					=						False
    A       :   int					=						is_small_dataset(snake_case__						)
    assert result == expected




