"""simple docstring"""





import contextlib
import csv
import json
import os
import sqlitea
import tarfile
import textwrap
import zipfile

import pyarrow as pa
import pyarrow.parquet as pq
import pytest

import datasets
import datasets.config





@pytest.fixture(scope='session'  )
def        a_  (   ):





       '''simple docstring'''

       lowercase__    :	Optional[int]     					=			10
       lowercase__    :	Union[str, Any]     					=			datasets.Features(
           {
               'tokens': datasets.Sequence(datasets.Value('string'  )  ),
               'labels': datasets.Sequence(datasets.ClassLabel(names=['negative', 'positive']  )  ),
               'answers': datasets.Sequence(
                   {
                       'text': datasets.Value('string'  ),
                       'answer_start': datasets.Value('int32'  ),
                   }  ),
               'id': datasets.Value('int64'  ),
           }  )
       lowercase__    :	str     					=			datasets.Dataset.from_dict(
           {
               'tokens': [['foo'] * 5] * n,
               'labels': [[1] * 5] * n,
               'answers': [{'answer_start': [97], 'text': ['1976']}] * 10,
               'id': list(range(_lowerCAmelCase  )  ),
           }     ,				features=_lowerCAmelCase     ,				)
       return dataset





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				Union[str, Any]  ):





       '''simple docstring'''

       lowercase__    :	Any     					=			str(tmp_path_factory.mktemp('data'  ) / 'file.arrow'  )
       dataset.map(cache_file_name=_lowerCAmelCase  )
       return filename


# FILE_CONTENT + files


_UpperCamelCase     :		List[str]											=					"\\n    Text data.\n    Second line of data."





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Dict  ):





       '''simple docstring'''

       lowercase__    :	str     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt'
       lowercase__    :	str     					=			FILE_CONTENT
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase  )
       return filename





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[int]  ):





       '''simple docstring'''

       import bza

       lowercase__    :	Optional[Any]     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt.bz2'
       lowercase__    :	int     					=			bytes(_lowerCAmelCase     ,				'utf-8'  )
       with bza.open(_lowerCAmelCase     ,				'wb'  ) as f:
              f.write(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Union[str, Any]  ):





       '''simple docstring'''

       import gzip

       lowercase__    :	Any     					=			str(tmp_path_factory.mktemp('data'  ) / 'file.txt.gz'  )
       lowercase__    :	int     					=			bytes(_lowerCAmelCase     ,				'utf-8'  )
       with gzip.open(_lowerCAmelCase     ,				'wb'  ) as f:
              f.write(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[Any]  ):





       '''simple docstring'''

       if datasets.config.LZ4_AVAILABLE:
              import lza.frame

              lowercase__    :	str     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt.lz4'
              lowercase__    :	Union[str, Any]     					=			bytes(_lowerCAmelCase     ,				'utf-8'  )
              with lza.frame.open(_lowerCAmelCase     ,				'wb'  ) as f:
                     f.write(_lowerCAmelCase  )
              return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				int  ):





       '''simple docstring'''

       if datasets.config.PY7ZR_AVAILABLE:
              import pyazr

              lowercase__    :	str     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt.7z'
              with pyazr.SevenZipFile(_lowerCAmelCase     ,				'w'  ) as archive:
                     archive.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
              return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[Any]     ,				_lowerCAmelCase						:				List[str]  ):





       '''simple docstring'''

       import tarfile

       lowercase__    :	Optional[Any]     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt.tar'
       with tarfile.TarFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.add(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Any  ):





       '''simple docstring'''

       import lzma

       lowercase__    :	List[str]     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt.xz'
       lowercase__    :	str     					=			bytes(_lowerCAmelCase     ,				'utf-8'  )
       with lzma.open(_lowerCAmelCase     ,				'wb'  ) as f:
              f.write(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Union[str, Any]     ,				_lowerCAmelCase						:				List[Any]  ):





       '''simple docstring'''

       import zipfile

       lowercase__    :	Any     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Union[str, Any]  ):





       '''simple docstring'''

       if datasets.config.ZSTANDARD_AVAILABLE:
              import zstandard as zstd

              lowercase__    :	int     					=			tmp_path_factory.mktemp('data'  ) / 'file.txt.zst'
              lowercase__    :	Union[str, Any]     					=			bytes(_lowerCAmelCase     ,				'utf-8'  )
              with zstd.open(_lowerCAmelCase     ,				'wb'  ) as f:
                     f.write(_lowerCAmelCase  )
              return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Dict  ):





       '''simple docstring'''

       lowercase__    :	str     					=			tmp_path_factory.mktemp('data'  ) / 'file.xml'
       lowercase__    :	int     					=			textwrap.dedent(
           '\\n    <?xml version="1.0" encoding="UTF-8" ?>\n    <tmx version="1.4">\n      <header segtype="sentence" srclang="ca" />\n      <body>\n        <tu>\n          <tuv xml:lang="ca"><seg>Contingut 1</seg></tuv>\n          <tuv xml:lang="en"><seg>Content 1</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang="ca"><seg>Contingut 2</seg></tuv>\n          <tuv xml:lang="en"><seg>Content 2</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang="ca"><seg>Contingut 3</seg></tuv>\n          <tuv xml:lang="en"><seg>Content 3</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang="ca"><seg>Contingut 4</seg></tuv>\n          <tuv xml:lang="en"><seg>Content 4</seg></tuv>\n        </tu>\n        <tu>\n          <tuv xml:lang="ca"><seg>Contingut 5</seg></tuv>\n          <tuv xml:lang="en"><seg>Content 5</seg></tuv>\n        </tu>\n      </body>\n    </tmx>'  )
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase  )
       return filename


_UpperCamelCase     :		Tuple											=					[
    {"col_1": "0", "col_2": 0, "col_3": 0.0},
    {"col_1": "1", "col_2": 1, "col_3": 1.0},
    {"col_1": "2", "col_2": 2, "col_3": 2.0},
    {"col_1": "3", "col_2": 3, "col_3": 3.0},
]
_UpperCamelCase     :		List[str]											=					[
    {"col_1": "4", "col_2": 4, "col_3": 4.0},
    {"col_1": "5", "col_2": 5, "col_3": 5.0},
]
_UpperCamelCase     :		int											=					{
    "col_1": ["0", "1", "2", "3"],
    "col_2": [0, 1, 2, 3],
    "col_3": [0.0, 1.0, 2.0, 3.0],
}

_UpperCamelCase     :		List[str]											=					[
    {"col_3": 0.0, "col_1": "0", "col_2": 0},
    {"col_3": 1.0, "col_1": "1", "col_2": 1},
]

_UpperCamelCase     :		Tuple											=					[
    {"col_1": "s0", "col_2": 0, "col_3": 0.0},
    {"col_1": "s1", "col_2": 1, "col_3": 1.0},
    {"col_1": "s2", "col_2": 2, "col_3": 2.0},
    {"col_1": "s3", "col_2": 3, "col_3": 3.0},
]





@pytest.fixture(scope='session'  )
def        a_  (   ):





       '''simple docstring'''

       return DATA_DICT_OF_LISTS





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				List[str]  ):





       '''simple docstring'''

       lowercase__    :	Dict     					=			datasets.Dataset.from_dict(_lowerCAmelCase  )
       lowercase__    :	Union[str, Any]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.arrow'  )
       dataset.map(cache_file_name=_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Any  ):





       '''simple docstring'''

       lowercase__    :	Optional[Any]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.sqlite'  )
       with contextlib.closing(sqlitea.connect(_lowerCAmelCase  )  ) as con:
              lowercase__    :	Union[str, Any]     					=			con.cursor()
              cur.execute('CREATE TABLE dataset(col_1 text, col_2 int, col_3 real)'  )
              for item in DATA:
                     cur.execute('INSERT INTO dataset(col_1, col_2, col_3) VALUES (?, ?, ?)'     ,				tuple(item.values()  )  )
              con.commit()
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[int]  ):





       '''simple docstring'''

       lowercase__    :	str     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.csv'  )
       with open(_lowerCAmelCase     ,				'w'     ,				newline=''  ) as f:
              lowercase__    :	List[Any]     					=			csv.DictWriter(_lowerCAmelCase     ,				fieldnames=['col_1', 'col_2', 'col_3']  )
              writer.writeheader()
              for item in DATA:
                     writer.writerow(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Union[str, Any]  ):





       '''simple docstring'''

       lowercase__    :	Optional[int]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset2.csv'  )
       with open(_lowerCAmelCase     ,				'w'     ,				newline=''  ) as f:
              lowercase__    :	List[str]     					=			csv.DictWriter(_lowerCAmelCase     ,				fieldnames=['col_1', 'col_2', 'col_3']  )
              writer.writeheader()
              for item in DATA:
                     writer.writerow(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Tuple     ,				_lowerCAmelCase						:				Optional[int]  ):





       '''simple docstring'''

       import bza

       lowercase__    :	Union[str, Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.csv.bz2'
       with open(_lowerCAmelCase     ,				'rb'  ) as f:
              lowercase__    :	Tuple     					=			f.read()
       # data = bytes(FILE_CONTENT, "utf-8")
       with bza.open(_lowerCAmelCase     ,				'wb'  ) as f:
              f.write(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[int]     ,				_lowerCAmelCase						:				Union[str, Any]     ,				_lowerCAmelCase						:				Dict  ):





       '''simple docstring'''

       lowercase__    :	List[str]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.csv.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[int]     ,				_lowerCAmelCase						:				List[str]     ,				_lowerCAmelCase						:				List[Any]  ):





       '''simple docstring'''

       lowercase__    :	Union[str, Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.csv.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(csv_path.replace('.csv'     ,				'.CSV'  )  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(csva_path.replace('.csv'     ,				'.CSV'  )  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				Optional[Any]     ,				_lowerCAmelCase						:				int  ):





       '''simple docstring'''

       lowercase__    :	str     					=			tmp_path_factory.mktemp('data'  ) / 'dataset_with_dir.csv.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.join('main_dir'     ,				os.path.basename(_lowerCAmelCase  )  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.join('main_dir'     ,				os.path.basename(_lowerCAmelCase  )  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str  ):





       '''simple docstring'''

       lowercase__    :	Optional[Any]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.parquet'  )
       lowercase__    :	List[str]     					=			pa.schema(
           {
               'col_1': pa.string(),
               'col_2': pa.intaa(),
               'col_3': pa.floataa(),
           }  )
       with open(_lowerCAmelCase     ,				'wb'  ) as f:
              lowercase__    :	Optional[int]     					=			pq.ParquetWriter(_lowerCAmelCase     ,				schema=_lowerCAmelCase  )
              lowercase__    :	int     					=			pa.Table.from_pydict({k: [DATA[i][k] for i in range(len(_lowerCAmelCase  )  )] for k in DATA[0]}     ,				schema=_lowerCAmelCase  )
              writer.write_table(_lowerCAmelCase  )
              writer.close()
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[Any]  ):





       '''simple docstring'''

       lowercase__    :	int     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.json'  )
       lowercase__    :	List[str]     					=			{'data': DATA}
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              json.dump(_lowerCAmelCase     ,				_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Dict  ):





       '''simple docstring'''

       lowercase__    :	List[Any]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.json'  )
       lowercase__    :	List[str]     					=			{'data': DATA_DICT_OF_LISTS}
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              json.dump(_lowerCAmelCase     ,				_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				int  ):





       '''simple docstring'''

       lowercase__    :	List[Any]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.jsonl'  )
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              for item in DATA:
                     f.write(json.dumps(_lowerCAmelCase  ) + '\n'  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				List[Any]  ):





       '''simple docstring'''

       lowercase__    :	str     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset2.jsonl'  )
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              for item in DATA:
                     f.write(json.dumps(_lowerCAmelCase  ) + '\n'  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Any  ):





       '''simple docstring'''

       lowercase__    :	Optional[int]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset_312.jsonl'  )
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              for item in DATA_312:
                     f.write(json.dumps(_lowerCAmelCase  ) + '\n'  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Tuple  ):





       '''simple docstring'''

       lowercase__    :	Union[str, Any]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset-str.jsonl'  )
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              for item in DATA_STR:
                     f.write(json.dumps(_lowerCAmelCase  ) + '\n'  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				Dict  ):





       '''simple docstring'''

       import gzip

       lowercase__    :	Any     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.txt.gz'  )
       with open(_lowerCAmelCase     ,				'rb'  ) as orig_file:
              with gzip.open(_lowerCAmelCase     ,				'wb'  ) as zipped_file:
                     zipped_file.writelines(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				int     ,				_lowerCAmelCase						:				Tuple  ):





       '''simple docstring'''

       import gzip

       lowercase__    :	Tuple     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.jsonl.gz'  )
       with open(_lowerCAmelCase     ,				'rb'  ) as orig_file:
              with gzip.open(_lowerCAmelCase     ,				'wb'  ) as zipped_file:
                     zipped_file.writelines(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				int     ,				_lowerCAmelCase						:				Tuple     ,				_lowerCAmelCase						:				Optional[int]  ):





       '''simple docstring'''

       lowercase__    :	int     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.jsonl.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				Tuple     ,				_lowerCAmelCase						:				List[Any]     ,				_lowerCAmelCase						:				Optional[Any]  ):





       '''simple docstring'''

       lowercase__    :	List[Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset_nested.jsonl.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.join('nested'     ,				os.path.basename(_lowerCAmelCase  )  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				Optional[int]     ,				_lowerCAmelCase						:				Optional[int]  ):





       '''simple docstring'''

       lowercase__    :	Optional[Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset_with_dir.jsonl.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.join('main_dir'     ,				os.path.basename(_lowerCAmelCase  )  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.join('main_dir'     ,				os.path.basename(_lowerCAmelCase  )  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[Any]     ,				_lowerCAmelCase						:				Optional[int]     ,				_lowerCAmelCase						:				Optional[Any]  ):





       '''simple docstring'''

       lowercase__    :	Union[str, Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.jsonl.tar'
       with tarfile.TarFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.add(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
              f.add(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[Any]     ,				_lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				int     ,				_lowerCAmelCase						:				List[Any]  ):





       '''simple docstring'''

       lowercase__    :	List[str]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset_nested.jsonl.tar'
       with tarfile.TarFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.add(_lowerCAmelCase     ,				arcname=os.path.join('nested'     ,				os.path.basename(_lowerCAmelCase  )  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[int]  ):





       '''simple docstring'''

       lowercase__    :	Dict     					=			['0', '1', '2', '3']
       lowercase__    :	Union[str, Any]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset.txt'  )
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              for item in data:
                     f.write(item + '\n'  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				int  ):





       '''simple docstring'''

       lowercase__    :	Optional[Any]     					=			['0', '1', '2', '3']
       lowercase__    :	Optional[int]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset2.txt'  )
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              for item in data:
                     f.write(item + '\n'  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Dict  ):





       '''simple docstring'''

       lowercase__    :	int     					=			['0', '1', '2', '3']
       lowercase__    :	Union[str, Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.abc'
       with open(_lowerCAmelCase     ,				'w'  ) as f:
              for item in data:
                     f.write(item + '\n'  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				List[str]     ,				_lowerCAmelCase						:				int     ,				_lowerCAmelCase						:				int  ):





       '''simple docstring'''

       lowercase__    :	Optional[Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.text.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				Optional[int]     ,				_lowerCAmelCase						:				str  ):





       '''simple docstring'''

       lowercase__    :	Any     					=			tmp_path_factory.mktemp('data'  ) / 'dataset_with_dir.text.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.join('main_dir'     ,				os.path.basename(_lowerCAmelCase  )  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.join('main_dir'     ,				os.path.basename(_lowerCAmelCase  )  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str     ,				_lowerCAmelCase						:				List[str]     ,				_lowerCAmelCase						:				Optional[int]  ):





       '''simple docstring'''

       lowercase__    :	Union[str, Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.ext.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename('unsupported.ext'  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename('unsupported_2.ext'  )  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				List[str]  ):





       '''simple docstring'''

       lowercase__    :	Optional[int]     					=			'\n'.join(['First', 'Second\u2029with Unicode new line', 'Third']  )
       lowercase__    :	List[str]     					=			str(tmp_path_factory.mktemp('data'  ) / 'dataset_with_unicode_new_lines.txt'  )
       with open(_lowerCAmelCase     ,				'w'     ,				encoding='utf-8'  ) as f:
              f.write(_lowerCAmelCase  )
       return path





@pytest.fixture(scope='session'  )
def        a_  (   ):





       '''simple docstring'''

       return os.path.join('tests'     ,				'features'     ,				'data'     ,				'test_image_rgb.jpg'  )





@pytest.fixture(scope='session'  )
def        a_  (   ):





       '''simple docstring'''

       return os.path.join('tests'     ,				'features'     ,				'data'     ,				'test_audio_44100.wav'  )





@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				Optional[Any]     ,				_lowerCAmelCase						:				Optional[Any]  ):





       '''simple docstring'''

       lowercase__    :	List[Any]     					=			tmp_path_factory.mktemp('data'  ) / 'dataset.img.zip'
       with zipfile.ZipFile(_lowerCAmelCase     ,				'w'  ) as f:
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  )  )
              f.write(_lowerCAmelCase     ,				arcname=os.path.basename(_lowerCAmelCase  ).replace('.jpg'     ,				'2.jpg'  )  )
       return path






@pytest.fixture(scope='session'  )
def        a_  (   _lowerCAmelCase						:				str  ):





       '''simple docstring'''

       lowercase__    :	Any     					=			tmp_path_factory.mktemp('data_dir'  )

       (data_dir / "subdir").mkdir()
       with open(data_dir / 'subdir' / 'train.txt'     ,				'w'  ) as f:
              f.write('foo\n' * 10  )
       with open(data_dir / 'subdir' / 'test.txt'     ,				'w'  ) as f:
              f.write('bar\n' * 10  )
       # hidden file
       with open(data_dir / 'subdir' / '.test.txt'     ,				'w'  ) as f:
              f.write('bar\n' * 10  )

       # hidden directory
       (data_dir / ".subdir").mkdir()
       with open(data_dir / '.subdir' / 'train.txt'     ,				'w'  ) as f:
              f.write('foo\n' * 10  )
       with open(data_dir / '.subdir' / 'test.txt'     ,				'w'  ) as f:
              f.write('bar\n' * 10  )

       return data_dir


"""simple docstring"""





import unittest

from transformers import is_torch_available, is_vision_available
from transformers.testing_utils import require_torch, require_vision, slow, torch_device


if is_torch_available():
       import torch

       from transformers import AutoModelForImageClassification

if is_vision_available():
       from transformers import AutoImageProcessor


@require_torch
@require_vision
class   UpperCAmelCase_			(					unittest.TestCase):


      @slow
      def 	_UpperCAmelCase (     self							) ->      str:
             lowercase__    :	Optional[Any]     					=			AutoImageProcessor.from_pretrained('microsoft/dit-base-finetuned-rvlcdip'							)
             lowercase__    :	Union[str, Any]     					=			AutoModelForImageClassification.from_pretrained('microsoft/dit-base-finetuned-rvlcdip'							)
             model.to(a							)

             from datasets import load_dataset

             lowercase__    :	str     					=			load_dataset('nielsr/rvlcdip-demo'							)

             lowercase__    :	Tuple     					=			dataset['train'][0]['image'].convert('RGB'							)

             lowercase__    :	int     					=			image_processor(a	,    return_tensors='pt'							).to(a							)

             # forward pass
             with torch.no_grad():
                    lowercase__    :	List[str]     					=			model(**a							)
                    lowercase__    :	List[Any]     					=			outputs.logits

             lowercase__    :	Union[str, Any]     					=			torch.Size((1, 1_6)							)
             self.assertEqual(logits.shape	,    a							)

             lowercase__    :	Tuple     					=			torch.tensor(
                 [-0.4_158, -0.4_092, -0.4_347]	,    device=a	,    dtype=torch.float	,    )
             self.assertTrue(torch.allclose(logits[0, :3]	,    a	,    atol=1e-4							)							)

