private void testExecuteOnCollection(FlatMapFunction<String, String> udf, List<String> input, boolean mutableSafe) throws Exception {
ExecutionConfig executionConfig = new ExecutionConfig();
if (mutableSafe) {
executionConfig.disableObjectReuse();
} else {
executionConfig.enableObjectReuse();
}
final TaskInfo taskInfo = new TaskInfo("Test UDF", 4, 0, 4, 0);
final List<String> result = getTestFlatMapOperator(udf)
.executeOnCollections(input,
new RuntimeUDFContext(
taskInfo, null, executionConfig, new HashMap<String, Future<Path>>(),
new HashMap<String, Accumulator<?, ?>>(), new UnregisteredMetricsGroup()),
executionConfig);
Assert.assertEquals(input.size(), result.size());
Assert.assertEquals(input, result);
}