@Test
public void testICQ() {

	try {
		DataSet<Row> ret = new IterativeComQueue()
			.setMaxIter(1)
			.add(new ComputeFunction() {
				@Override
				public void calc(ComContext context) {
					context.putObj("allReduce", new double[]{1.0, 1.0, 1.0});
				}
			})
			.add(new AllReduce("allReduce"))
			.add(new ComputeFunction() {
				@Override
				public void calc(ComContext context) {
					double[] result = context.getObj("allReduce");
					System.out.println(JsonConverter.toJson(result));
				}
			})
			.closeWith(new CompleteResultFunction() {
				@Override
				public List<Row> calc(ComContext context) {
					return null;
				}
			})
			.exec();
		ret.collect();
	} catch (Exception e) {
		Assert.fail("should not throw exception");
	}
}