





'''simple docstring'''
import os
import tempfile
from functools import partial
from unittest import TestCase
from unittest.mock import patch

import datasets
import datasets.config

from .utils import require_beam

class      snake_case     (    datasets.BeamBasedBuilder       ):




 """simple docstring"""



 def        _lowerCamelCase					(       self       :							Optional[Any]	):
        return datasets.DatasetInfo(
            features=datasets.Features({'content': datasets.Value('string'	)}	)							,	supervised_keys=__A							,	)






 def        _lowerCamelCase					(       self       :							List[str]							,	__A       :							int							,	__A       :							Any	):
        return [datasets.SplitGenerator(name=datasets.Split.TRAIN							,	gen_kwargs={'examples': get_test_dummy_examples()}	)]






 def        _lowerCamelCase					(       self       :							Union[str, Any]							,	__A       :							List[str]							,	__A       :							Optional[Any]	):
        import apache_beam as beam

        return pipeline | "Load Examples" >> beam.Create(__A	)






class      snake_case     (    datasets.BeamBasedBuilder       ):




 """simple docstring"""



 def        _lowerCamelCase					(       self       :							List[str]	):
        return datasets.DatasetInfo(
            features=datasets.Features({'a': datasets.Sequence({'b': datasets.Value('string'	)}	)}	)							,	supervised_keys=__A							,	)






 def        _lowerCamelCase					(       self       :							Tuple							,	__A       :							List[Any]							,	__A       :							Any	):
        return [
            datasets.SplitGenerator(name=datasets.Split.TRAIN							,	gen_kwargs={'examples': get_test_nested_examples()}	)
        ]






 def        _lowerCamelCase					(       self       :							int							,	__A       :							Tuple							,	__A       :							Tuple	):
        import apache_beam as beam

        return pipeline | "Load Examples" >> beam.Create(__A	)






def 				lowercase__   (   ) ->      List[str]:



       """simple docstring"""






       return [(i, {"content": content}) for i, content in enumerate(['foo', 'bar', 'foobar']     )]
def 				lowercase__   (   ) ->      str:



       """simple docstring"""






       return [(i, {"a": {"b": [content]}}) for i, content in enumerate(['foo', 'bar', 'foobar']     )]


class      snake_case     (    __lowerCamelCase       ):




 """simple docstring"""



 @require_beam
 def        _lowerCamelCase					(       self       :							Dict	):
        __UpperCamelCase       =  len(get_test_dummy_examples()	)
        with tempfile.TemporaryDirectory() as tmp_cache_dir:
               __UpperCamelCase       =  DummyBeamDataset(cache_dir=__A							,	beam_runner='DirectRunner'	)
               builder.download_and_prepare()
               self.assertTrue(
                   os.path.exists(
                       os.path.join(__A							,	builder.name							,	'default'							,	'0.0.0'							,	f'''{builder.name}-train.arrow'''	)	)	)
               self.assertDictEqual(builder.info.features							,	datasets.Features({'content': datasets.Value('string'	)}	)	)
               __UpperCamelCase       =  builder.as_dataset()
               self.assertEqual(dset['train'].num_rows							,	__A	)
               self.assertEqual(dset['train'].info.splits['train'].num_examples							,	__A	)
               self.assertDictEqual(dset['train'][0]							,	get_test_dummy_examples()[0][1]	)
               self.assertDictEqual(
                   dset['train'][expected_num_examples - 1]							,	get_test_dummy_examples()[expected_num_examples - 1][1]	)
               self.assertTrue(
                   os.path.exists(os.path.join(__A							,	builder.name							,	'default'							,	'0.0.0'							,	'dataset_info.json'	)	)	)
               del dset






 @require_beam
 def        _lowerCamelCase					(       self       :							str	):
        import apache_beam as beam

        __UpperCamelCase       =  beam.io.parquetio.WriteToParquet

        __UpperCamelCase       =  len(get_test_dummy_examples()	)
        with tempfile.TemporaryDirectory() as tmp_cache_dir:
               __UpperCamelCase       =  DummyBeamDataset(cache_dir=__A							,	beam_runner='DirectRunner'	)
               with patch('apache_beam.io.parquetio.WriteToParquet'	) as write_parquet_mock:
                      __UpperCamelCase       =  partial(__A							,	num_shards=2	)
                      builder.download_and_prepare()
               self.assertTrue(
                   os.path.exists(
                       os.path.join(
                           __A							,	builder.name							,	'default'							,	'0.0.0'							,	f'''{builder.name}-train-00000-of-00002.arrow'''	)	)	)
               self.assertTrue(
                   os.path.exists(
                       os.path.join(
                           __A							,	builder.name							,	'default'							,	'0.0.0'							,	f'''{builder.name}-train-00000-of-00002.arrow'''	)	)	)
               self.assertDictEqual(builder.info.features							,	datasets.Features({'content': datasets.Value('string'	)}	)	)
               __UpperCamelCase       =  builder.as_dataset()
               self.assertEqual(dset['train'].num_rows							,	__A	)
               self.assertEqual(dset['train'].info.splits['train'].num_examples							,	__A	)
               # Order is not preserved when sharding, so we just check that all the elements are there
               self.assertListEqual(sorted(dset['train']['content']	)							,	sorted(['foo', 'bar', 'foobar']	)	)
               self.assertTrue(
                   os.path.exists(os.path.join(__A							,	builder.name							,	'default'							,	'0.0.0'							,	'dataset_info.json'	)	)	)
               del dset






 @require_beam
 def        _lowerCamelCase					(       self       :							Dict	):
        with tempfile.TemporaryDirectory() as tmp_cache_dir:
               __UpperCamelCase       =  DummyBeamDataset(cache_dir=__A	)
               self.assertRaises(datasets.builder.MissingBeamOptions							,	builder.download_and_prepare	)






 @require_beam
 def        _lowerCamelCase					(       self       :							int	):
        __UpperCamelCase       =  len(get_test_nested_examples()	)
        with tempfile.TemporaryDirectory() as tmp_cache_dir:
               __UpperCamelCase       =  NestedBeamDataset(cache_dir=__A							,	beam_runner='DirectRunner'	)
               builder.download_and_prepare()
               self.assertTrue(
                   os.path.exists(
                       os.path.join(__A							,	builder.name							,	'default'							,	'0.0.0'							,	f'''{builder.name}-train.arrow'''	)	)	)
               self.assertDictEqual(
                   builder.info.features							,	datasets.Features({'a': datasets.Sequence({'b': datasets.Value('string'	)}	)}	)	)
               __UpperCamelCase       =  builder.as_dataset()
               self.assertEqual(dset['train'].num_rows							,	__A	)
               self.assertEqual(dset['train'].info.splits['train'].num_examples							,	__A	)
               self.assertDictEqual(dset['train'][0]							,	get_test_nested_examples()[0][1]	)
               self.assertDictEqual(
                   dset['train'][expected_num_examples - 1]							,	get_test_nested_examples()[expected_num_examples - 1][1]	)
               self.assertTrue(
                   os.path.exists(os.path.join(__A							,	builder.name							,	'default'							,	'0.0.0'							,	'dataset_info.json'	)	)	)
               del dset




'''simple docstring'''



A__		:					Any												=  8.3_1_4_4_6_2  # Unit - J mol-1 K-1



def 			UpperCAmelCase__					(	UpperCAmelCase_    :				float      ,    UpperCAmelCase_    :				float      ,    UpperCAmelCase_    :				float							)     ->		float:
     if moles < 0 or kelvin < 0 or volume < 0:
          raise ValueError('Invalid inputs. Enter positive value.'							)
     return moles * kelvin * UNIVERSAL_GAS_CONSTANT / volume



def 			UpperCAmelCase__					(	UpperCAmelCase_    :				float      ,    UpperCAmelCase_    :				float      ,    UpperCAmelCase_    :				float							)     ->		float:
     if moles < 0 or kelvin < 0 or pressure < 0:
          raise ValueError('Invalid inputs. Enter positive value.'							)
     return moles * kelvin * UNIVERSAL_GAS_CONSTANT / pressure


if __name__ == "__main__":
      from doctest import testmod

      testmod()






