private void registerAggregatorWithError()

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());
        });
    }