in computer-test/src/main/java/org/apache/hugegraph/computer/core/worker/MockMasterComputation.java [98:162]
private void registerAggregatorWithError(MasterContext context) {
Assert.assertThrows(IllegalArgumentException.class, () -> {
context.registerAggregator("", MockIntAggregator.class);
}, e -> {
Assert.assertContains("registered aggregator name can't be empty",
e.getMessage());
});
Assert.assertThrows(IllegalArgumentException.class, () -> {
context.registerAggregator(null, MockIntAggregator.class);
}, e -> {
Assert.assertContains("registered aggregator name can't be null",
e.getMessage());
});
Assert.assertThrows(IllegalArgumentException.class, () -> {
context.registerAggregator("", ValueType.INT,
IntValueSumCombiner.class);
}, e -> {
Assert.assertContains("registered aggregator name can't be empty",
e.getMessage());
});
Assert.assertThrows(IllegalArgumentException.class, () -> {
context.registerAggregator(null, ValueType.INT,
IntValueSumCombiner.class);
}, e -> {
Assert.assertContains("registered aggregator name can't be null",
e.getMessage());
});
Assert.assertThrows(IllegalArgumentException.class, () -> {
context.registerAggregator(AGGR_INT_UNSTABLE, ValueType.INT, null);
}, e -> {
Assert.assertContains("combiner of aggregator can't be null",
e.getMessage());
});
Assert.assertThrows(IllegalArgumentException.class, () -> {
ValueType type = null;
context.registerAggregator(AGGR_INT_UNSTABLE, type,
IntValueSumCombiner.class);
}, e -> {
Assert.assertContains("value type of aggregator can't be null",
e.getMessage());
});
Assert.assertThrows(IllegalArgumentException.class, () -> {
IntValue value = null;
context.registerAggregator(AGGR_INT_UNSTABLE, value,
IntValueSumCombiner.class);
}, e -> {
Assert.assertContains("The aggregator default value can't be null",
e.getMessage());
});
// Not applied now, can get it through aggregatedValue() after inited()
Assert.assertThrows(IllegalArgumentException.class, () -> {
context.aggregatedValue(AGGR_INT_UNSTABLE,
new IntValue(Integer.MAX_VALUE));
}, e -> {
Assert.assertContains("Can't get aggregator 'aggr_int_unstable",
e.getMessage());
});
}