


'''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       a__				( datasets.BeamBasedBuilder      ):







				"""simple docstring"""



				def 					_snake_case  (self		):
										return datasets.DatasetInfo(
										    features=datasets.Features({'''content''': datasets.Value('''string'''		)}		)       ,			supervised_keys=UpperCamelCase__       ,			)




				def 					_snake_case  (self       ,			__lowercase       ,			__lowercase		):
										return [datasets.SplitGenerator(name=datasets.Split.TRAIN       ,			gen_kwargs={'''examples''': get_test_dummy_examples()}		)]




				def 					_snake_case  (self       ,			__lowercase       ,			__lowercase		):
										import apache_beam as beam

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


class       a__				( datasets.BeamBasedBuilder      ):







				"""simple docstring"""



				def 					_snake_case  (self		):
										return datasets.DatasetInfo(
										    features=datasets.Features({'''a''': datasets.Sequence({'''b''': datasets.Value('''string'''		)}		)}		)       ,			supervised_keys=UpperCamelCase__       ,			)




				def 					_snake_case  (self       ,			__lowercase       ,			__lowercase		):
										return [
										    datasets.SplitGenerator(name=datasets.Split.TRAIN       ,			gen_kwargs={'''examples''': get_test_nested_examples()}		)
										]




				def 					_snake_case  (self       ,			__lowercase       ,			__lowercase		):
										import apache_beam as beam

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

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

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




class       a__				( lowercase_      ):







				"""simple docstring"""



				@require_beam
				def 					_snake_case  (self		):
										__lowerCAmelCase							       =				len(get_test_dummy_examples()		)
										with tempfile.TemporaryDirectory() as tmp_cache_dir:
																__lowerCAmelCase							       =				DummyBeamDataset(cache_dir=UpperCamelCase__       ,			beam_runner='''DirectRunner'''		)
																builder.download_and_prepare()
																self.assertTrue(
																    os.path.exists(
																        os.path.join(UpperCamelCase__       ,			builder.name       ,			'''default'''       ,			'''0.0.0'''       ,			F"""{builder.name}-train.arrow"""		)		)		)
																self.assertDictEqual(builder.info.features       ,			datasets.Features({'''content''': datasets.Value('''string'''		)}		)		)
																__lowerCAmelCase							       =				builder.as_dataset()
																self.assertEqual(dset['''train'''].num_rows       ,			UpperCamelCase__		)
																self.assertEqual(dset['''train'''].info.splits['''train'''].num_examples       ,			UpperCamelCase__		)
																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(UpperCamelCase__       ,			builder.name       ,			'''default'''       ,			'''0.0.0'''       ,			'''dataset_info.json'''		)		)		)
																del dset




				@require_beam
				def 					_snake_case  (self		):
										import apache_beam as beam

										__lowerCAmelCase							       =				beam.io.parquetio.WriteToParquet

										__lowerCAmelCase							       =				len(get_test_dummy_examples()		)
										with tempfile.TemporaryDirectory() as tmp_cache_dir:
																__lowerCAmelCase							       =				DummyBeamDataset(cache_dir=UpperCamelCase__       ,			beam_runner='''DirectRunner'''		)
																with patch('''apache_beam.io.parquetio.WriteToParquet'''		) as write_parquet_mock:
																						__lowerCAmelCase							       =				partial(UpperCamelCase__       ,			num_shards=2		)
																						builder.download_and_prepare()
																self.assertTrue(
																    os.path.exists(
																        os.path.join(
																            UpperCamelCase__       ,			builder.name       ,			'''default'''       ,			'''0.0.0'''       ,			F"""{builder.name}-train-00000-of-00002.arrow"""		)		)		)
																self.assertTrue(
																    os.path.exists(
																        os.path.join(
																            UpperCamelCase__       ,			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'''		)}		)		)
																__lowerCAmelCase							       =				builder.as_dataset()
																self.assertEqual(dset['''train'''].num_rows       ,			UpperCamelCase__		)
																self.assertEqual(dset['''train'''].info.splits['''train'''].num_examples       ,			UpperCamelCase__		)
																# 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(UpperCamelCase__       ,			builder.name       ,			'''default'''       ,			'''0.0.0'''       ,			'''dataset_info.json'''		)		)		)
																del dset




				@require_beam
				def 					_snake_case  (self		):







										with tempfile.TemporaryDirectory() as tmp_cache_dir:
																__lowerCAmelCase							       =				DummyBeamDataset(cache_dir=UpperCamelCase__		)
																self.assertRaises(datasets.builder.MissingBeamOptions       ,			builder.download_and_prepare		)




				@require_beam
				def 					_snake_case  (self		):
										__lowerCAmelCase							       =				len(get_test_nested_examples()		)
										with tempfile.TemporaryDirectory() as tmp_cache_dir:
																__lowerCAmelCase							       =				NestedBeamDataset(cache_dir=UpperCamelCase__       ,			beam_runner='''DirectRunner'''		)
																builder.download_and_prepare()
																self.assertTrue(
																    os.path.exists(
																        os.path.join(UpperCamelCase__       ,			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'''		)}		)}		)		)
																__lowerCAmelCase							       =				builder.as_dataset()
																self.assertEqual(dset['''train'''].num_rows       ,			UpperCamelCase__		)
																self.assertEqual(dset['''train'''].info.splits['''train'''].num_examples       ,			UpperCamelCase__		)
																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(UpperCamelCase__       ,			builder.name       ,			'''default'''       ,			'''0.0.0'''       ,			'''dataset_info.json'''		)		)		)
																del dset







'''simple docstring'''

def 							__magic_name__(						):
						return [
						    a * b * (1_0_0_0 - a - b)
						    for a in range(1,				9_9_9)
						    for b in range(lowerCamelCase,				9_9_9)
						    if (a * a + b * b == (1_0_0_0 - a - b) ** 2)
						][0]


if __name__ == "__main__":
	print(f"""{solution() = }""")

