





'''simple docstring'''

from ..utils import DummyObject, requires_backends


class 					a_     (				metaclass=snake_case_       ):

    '''simple docstring'''
    UpperCamelCase     = ['''torch''', '''torchsde''']


    def __init__(		self ,		*A ,		**A       )		->   Union[str, Any]:
        requires_backends(self ,		["""torch""", """torchsde"""]       )


    @classmethod
    def 			snake_case_(		cls ,		*A ,		**A       )		->   int:
        requires_backends(cls ,		["""torch""", """torchsde"""]       )





    @classmethod
    def 			snake_case_(		cls ,		*A ,		**A       )		->   int:
        requires_backends(cls ,		["""torch""", """torchsde"""]       )










'''simple docstring'''

from unittest import TestCase

from datasets import Sequence, Value
from datasets.arrow_dataset import Dataset


class 					a_     (				snake_case_       ):

    '''simple docstring'''


    def 			snake_case_(		self       )		->   Tuple:
        return [
            {"col_1": 3, "col_2": "a"},
            {"col_1": 2, "col_2": "b"},
            {"col_1": 1, "col_2": "c"},
            {"col_1": 0, "col_2": "d"},
        ]


    def 			snake_case_(		self       )		->   Optional[int]:
        _SCREAMING_SNAKE_CASE									=			{"""col_1""": [3, 2, 1, 0], """col_2""": ["""a""", """b""", """c""", """d"""]}
        return Dataset.from_dict(A       )


    def 			snake_case_(		self       )		->   str:
        _SCREAMING_SNAKE_CASE									=			self._create_example_records()
        _SCREAMING_SNAKE_CASE									=			Dataset.from_list(A       )
        self.assertListEqual(dset.column_names ,		["""col_1""", """col_2"""]       )
        for i, r in enumerate(A       ):
            self.assertDictEqual(A ,		example_records[i]       )


    def 			snake_case_(		self       )		->   str:
        _SCREAMING_SNAKE_CASE									=			self._create_example_records()
        _SCREAMING_SNAKE_CASE									=			Dataset.from_list(A       )
        _SCREAMING_SNAKE_CASE									=			Dataset.from_dict({k: [r[k] for r in example_records] for k in example_records[0]}       )
        self.assertEqual(dset.info ,		dset_from_dict.info       )


    def 			snake_case_(		self       )		->   Union[str, Any]:  # checks what happens with missing columns
        _SCREAMING_SNAKE_CASE									=			[{"""col_1""": 1}, {"""col_2""": """x"""}]
        _SCREAMING_SNAKE_CASE									=			Dataset.from_list(A       )
        self.assertDictEqual(dset[0] ,		{"""col_1""": 1}       )
        self.assertDictEqual(dset[1] ,		{"""col_1""": None}       )  # NB: first record is used for columns


    def 			snake_case_(		self       )		->   Optional[Any]:  # checks if the type can be inferred from the second record
        _SCREAMING_SNAKE_CASE									=			[{"""col_1""": []}, {"""col_1""": [1, 2]}]
        _SCREAMING_SNAKE_CASE									=			Dataset.from_list(A       )
        self.assertEqual(dset.info.features["""col_1"""] ,		Sequence(Value("""int64"""       )       )       )





    def 			snake_case_(		self       )		->   str:
        _SCREAMING_SNAKE_CASE									=			Dataset.from_list([]       )
        self.assertEqual(len(A       ) ,		0       )
        self.assertListEqual(dset.column_names ,		[]       )



