






'''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 						snake_case	(					self  ):







   """simple docstring"""
   return datasets.DatasetInfo(
       features=datasets.Features({"content": datasets.Value("string"  )}  )    ,						supervised_keys=UpperCamelCase    ,						)






  def 						snake_case	(					self    ,						UpperCamelCase    ,						UpperCamelCase  ):







   """simple docstring"""
   return [datasets.SplitGenerator(name=datasets.Split.TRAIN    ,						gen_kwargs={"examples": get_test_dummy_examples()}  )]







  def 						snake_case	(					self    ,						UpperCamelCase    ,						UpperCamelCase  ):







   """simple docstring"""
   import apache_beam as beam

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





class   snake_case					(					datasets.BeamBasedBuilder    ):





  """simple docstring"""




  def 						snake_case	(					self  ):







   """simple docstring"""
   return datasets.DatasetInfo(
       features=datasets.Features({"a": datasets.Sequence({"b": datasets.Value("string"  )}  )}  )    ,						supervised_keys=UpperCamelCase    ,						)






  def 						snake_case	(					self    ,						UpperCamelCase    ,						UpperCamelCase  ):







   """simple docstring"""
   return [
       datasets.SplitGenerator(name=datasets.Split.TRAIN    ,						gen_kwargs={"examples": get_test_nested_examples()}  )
   ]







  def 						snake_case	(					self    ,						UpperCamelCase    ,						UpperCamelCase  ):







   """simple docstring"""
   import apache_beam as beam

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





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





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







class   snake_case					(					lowercase    ):





  """simple docstring"""




  @require_beam
  def 						snake_case	(					self  ):







   """simple docstring"""
   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  ):







   """simple docstring"""
   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  ):







   """simple docstring"""
   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  ):







   """simple docstring"""
   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 __snake_case      (   UpperCAmelCase_		:		int      ,       UpperCAmelCase_		:		int	):
 return "\n".join(
     F'''{number} * {i} = {number * i}''' for i in range(1      ,       number_of_terms + 1	)	)


if __name__ == "__main__":
     print(multiplication_table(number=5, number_of_terms=10))



