Question: I have the data in dataframes like below. 
I want to split the item into same number of rows

```
>>> df
idx  a  
0  3  
1  5  
2  4 

```

from above dataframe, I want the below as 

```
>>> df
idx  a  
0  1  
1  2  
2  3
3  1
4  2
5  3
6  4
7  5
8  1
9  2
10  3
11  4  

```

I tried several ways, but no success.

Answer: 
I ended up using the `TestStream` class. I found the `UnBoundedSource` class too hard to extend for my use case. The blog post <https://beam.apache.org/blog/2016/10/20/test-stream.html> helped me understand how to use this class for my tests.
Check out `SyntheticBoundedSource` and `SyntheticUnboundedSource` classes!

They let you parametrize a lot about data generation, from key/value sizes, delays between record emissions etc. You parametrize them using `SyntheticSourceOptions` option interface, so that can also be a good place to check for possible customizations.