@Test
public void testCorrectTranslation() {
final String jobName = "Test JobName";
final int numIterations = 13;
final int defaultParallelism = 133;
final int iterationParallelism = 77;
ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
{
env.setParallelism(defaultParallelism);
@SuppressWarnings("unchecked")
DataSet<Tuple3<Double, Long, String>> initialDataSet = env.fromElements(new Tuple3<>(3.44, 5L, "abc"));
IterativeDataSet<Tuple3<Double, Long, String>> bulkIteration = initialDataSet.iterate(numIterations);
bulkIteration.setParallelism(iterationParallelism);
DataSet<Tuple3<Double, Long, String>> identity = bulkIteration
.map(new IdentityMapper<Tuple3<Double, Long, String>>());
DataSet<Tuple3<Double, Long, String>> result = bulkIteration.closeWith(identity);
result.output(new DiscardingOutputFormat<Tuple3<Double, Long, String>>());
result.writeAsText("/dev/null");
}
Plan p = env.createProgramPlan(jobName);
BulkIterationBase<?> iteration = (BulkIterationBase<?>) p.getDataSinks().iterator().next().getInput();
assertEquals(jobName, p.getJobName());
assertEquals(defaultParallelism, p.getDefaultParallelism());
assertEquals(iterationParallelism, iteration.getParallelism());
}