






"""simple docstring"""





import textwrap

import pyarrow as pa
import pytest

from datasets import Features, Value
from datasets.packaged_modules.json.json import Json







@pytest.fixture
def 	lowerCAmelCase_(			SCREAMING_SNAKE_CASE       )       ->						Optional[int]:
    """simple docstring"""

    UpperCamelCase__								=     tmp_path / 'file.jsonl'
    UpperCamelCase__								=     textwrap.dedent(
        '\\n        {"col_1": -1}\n        {"col_1": 1, "col_2": 2}\n        {"col_1": 10, "col_2": 20}\n        '       )
    with open(SCREAMING_SNAKE_CASE			,						'w'       ) as f:
        f.write(SCREAMING_SNAKE_CASE       )
    return str(SCREAMING_SNAKE_CASE       )







@pytest.fixture
def 	lowerCAmelCase_(			SCREAMING_SNAKE_CASE       )       ->						Optional[Any]:
    """simple docstring"""

    UpperCamelCase__								=     tmp_path / 'file_utf16_encoded.jsonl'
    UpperCamelCase__								=     textwrap.dedent(
        '\\n        {"col_1": -1}\n        {"col_1": 1, "col_2": 2}\n        {"col_1": 10, "col_2": 20}\n        '       )
    with open(SCREAMING_SNAKE_CASE			,						'w'			,						encoding='utf-16'       ) as f:
        f.write(SCREAMING_SNAKE_CASE       )
    return str(SCREAMING_SNAKE_CASE       )







@pytest.fixture
def 	lowerCAmelCase_(			SCREAMING_SNAKE_CASE       )       ->						List[str]:
    """simple docstring"""

    UpperCamelCase__								=     tmp_path / 'file_with_list_of_dicts.json'
    UpperCamelCase__								=     textwrap.dedent(
        '\\n        [\n            {"col_1": -1},\n            {"col_1": 1, "col_2": 2},\n            {"col_1": 10, "col_2": 20}\n        ]\n        '       )
    with open(SCREAMING_SNAKE_CASE			,						'w'       ) as f:
        f.write(SCREAMING_SNAKE_CASE       )
    return str(SCREAMING_SNAKE_CASE       )







@pytest.fixture
def 	lowerCAmelCase_(			SCREAMING_SNAKE_CASE       )       ->						Union[str, Any]:
    """simple docstring"""

    UpperCamelCase__								=     tmp_path / 'file_with_list_of_dicts_field.json'
    UpperCamelCase__								=     textwrap.dedent(
        '\\n        {\n            "field1": 1,\n            "field2": "aabb",\n            "field3": [\n                {"col_1": -1},\n                {"col_1": 1, "col_2": 2},\n                {"col_1": 10, "col_2": 20}\n            ]\n        }\n        '       )
    with open(SCREAMING_SNAKE_CASE			,						'w'       ) as f:
        f.write(SCREAMING_SNAKE_CASE       )
    return str(SCREAMING_SNAKE_CASE       )







@pytest.mark.parametrize(
    'file_fixture, config_kwargs'			,						[
        ('jsonl_file', {}),
        ('jsonl_file_utf16_encoded', {'encoding': 'utf-16'}),
        ('json_file_with_list_of_dicts', {}),
        ('json_file_with_list_of_dicts_field', {'field': 'field3'}),
    ]			,						)
def 	lowerCAmelCase_(			SCREAMING_SNAKE_CASE			,						SCREAMING_SNAKE_CASE			,						SCREAMING_SNAKE_CASE       )       ->						Optional[int]:
    """simple docstring"""

    UpperCamelCase__								=     Json(**SCREAMING_SNAKE_CASE       )
    UpperCamelCase__								=     json._generate_tables([[request.getfixturevalue(SCREAMING_SNAKE_CASE       )]]       )
    UpperCamelCase__								=     pa.concat_tables([table for _, table in generator]       )
    assert pa_table.to_pydict() == {"col_1": [-1, 1, 10], "col_2": [None, 2, 20]}







@pytest.mark.parametrize(
    'file_fixture, config_kwargs'			,						[
        (
            'jsonl_file',
            {'features': Features({'col_1': Value('int64'       ), 'col_2': Value('int64'       ), 'missing_col': Value('string'       )}       )},
        ),
        (
            'json_file_with_list_of_dicts',
            {'features': Features({'col_1': Value('int64'       ), 'col_2': Value('int64'       ), 'missing_col': Value('string'       )}       )},
        ),
        (
            'json_file_with_list_of_dicts_field',
            {
                'field': 'field3',
                'features': Features(
                    {'col_1': Value('int64'       ), 'col_2': Value('int64'       ), 'missing_col': Value('string'       )}       ),
            },
        ),
    ]			,						)
def 	lowerCAmelCase_(			SCREAMING_SNAKE_CASE			,						SCREAMING_SNAKE_CASE			,						SCREAMING_SNAKE_CASE       )       ->						Union[str, Any]:
    """simple docstring"""

    UpperCamelCase__								=     Json(**SCREAMING_SNAKE_CASE       )
    UpperCamelCase__								=     json._generate_tables([[request.getfixturevalue(SCREAMING_SNAKE_CASE       )]]       )
    UpperCamelCase__								=     pa.concat_tables([table for _, table in generator]       )
    assert pa_table.to_pydict() == {"col_1": [-1, 1, 10], "col_2": [None, 2, 20], "missing_col": [None, None, None]}












"""simple docstring"""





import torch

from transformers import PreTrainedModel

from .custom_configuration import CustomConfig, NoSuperInitConfig
class  __lowerCamelCase     (	_a	):
   a   :					List[Any]			    =CustomConfig

   def __init__(       self			,					snake_case_   )		->							str:
       super().__init__(snake_case_   )
       UpperCamelCase__								=     torch.nn.Linear(config.hidden_size			,					config.hidden_size   )

   def     SCREAMING_SNAKE_CASE__			(       self			,					snake_case_   )		->							Optional[int]:
       return self.linear(snake_case_   )







   def     SCREAMING_SNAKE_CASE__			(       self			,					snake_case_   )		->							Union[str, Any]:
       pass







class  __lowerCamelCase     (	_a	):
   a   :					Optional[int]			    =NoSuperInitConfig

   def __init__(       self			,					snake_case_   )		->							Optional[int]:
       super().__init__(snake_case_   )
       UpperCamelCase__								=     torch.nn.Linear(config.attribute			,					config.attribute   )

   def     SCREAMING_SNAKE_CASE__			(       self			,					snake_case_   )		->							int:
       return self.linear(snake_case_   )







   def     SCREAMING_SNAKE_CASE__			(       self			,					snake_case_   )		->							Union[str, Any]:
       pass




