/** * Equivalent to {@code map("map", f)}. * @see #map(String, Function6) */ default <R> Task<R> map(final Function6<T1, T2, T3, T4, T5, T6, R> f) { return map("map: " + _taskDescriptor.getDescription(f.getClass().getName()), tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6())); }
@Test public void testDeduplication() { RecordingTaskStrategy<Integer, Integer, String> strategy = new RecordingTaskStrategy<Integer, Integer, String>(key -> Success.of(String.valueOf(key)), key -> key % 2); _batchingSupport.registerStrategy(strategy); Task<String> task = Task.par(strategy.batchable(0), strategy.batchable(1), strategy.batchable(2), strategy.batchable(0), strategy.batchable(1), strategy.batchable(2)) .map("concat", (s0, s1, s2, s3, s4, s5) -> s0 + s1 + s2 + s3 + s4 + s5); String result = runAndWait("TestTaskBatchingStrategy.testDeduplication", task); assertEquals(result, "012012"); assertTrue(strategy.getClassifiedKeys().contains(0)); assertTrue(strategy.getClassifiedKeys().contains(1)); assertTrue(strategy.getClassifiedKeys().contains(2)); assertEquals(strategy.getExecutedBatches().size(), 1); assertEquals(strategy.getExecutedSingletons().size(), 1); }
@Test public void testDeduplication() { RecordingStrategy<Integer, Integer, String> strategy = new RecordingStrategy<>((key, promise) -> promise.done(String.valueOf(key)), key -> key % 2); _batchingSupport.registerStrategy(strategy); Task<String> task = Task.par(strategy.batchable(0), strategy.batchable(1), strategy.batchable(2), strategy.batchable(0), strategy.batchable(1), strategy.batchable(2)) .map("concat", (s0, s1, s2, s3, s4, s5) -> s0 + s1 + s2 + s3 + s4 + s5); String result = runAndWait("TestBatchingSupport.testDeduplication", task); assertEquals(result, "012012"); assertTrue(strategy.getClassifiedKeys().contains(0)); assertTrue(strategy.getClassifiedKeys().contains(1)); assertTrue(strategy.getClassifiedKeys().contains(2)); assertEquals(strategy.getExecutedBatches().size(), 1); assertEquals(strategy.getExecutedSingletons().size(), 1); }
@Test public void testPar6Dsc() { Task<Integer> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6)) .map("test", (a, b, c, d, e, f) -> a + b + c + d + e + f); runAndWait("TestTaskFactoryMethods.testPar6Dsc", task); assertEquals((int)task.get(), 1 + 2 + 3 + 4 + 5 + 6); assertEquals(countTasks(task.getTrace()), 2 + 1 + 6); }
return map(desc, tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6()));
@Test public void testPar6() { Task<Integer> task = Task.par(Task.value(1), Task.value(2), Task.value(3), Task.value(4), Task.value(5), Task.value(6)) .map((a, b, c, d, e, f) -> a + b + c + d + e + f); runAndWait("TestTaskFactoryMethods.testPar6", task); assertEquals((int)task.get(), 1 + 2 + 3 + 4 + 5 + 6); assertEquals(countTasks(task.getTrace()), 2 + 1 + 6); }
/** * Equivalent to {@code map("map", f)}. * @see #map(String, Function6) */ default <R> Task<R> map(final Function6<T1, T2, T3, T4, T5, T6, R> f) { return map("map: " + _taskDescriptor.getDescription(f.getClass().getName()), tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6())); }
return map(desc, tuple -> f.apply(tuple._1(), tuple._2(), tuple._3(), tuple._4(), tuple._5(), tuple._6()));