public void testAdd()

in computer-test/src/main/java/org/apache/hugegraph/computer/core/graph/value/ListValueTest.java [51:103]


    public void testAdd() {
        ListValue<IntValue> value1 = new ListValue<>(ValueType.INT);
        ListValue<FloatValue> value2 = new ListValue<>(ValueType.FLOAT);

        Assert.assertEquals(0, value1.size());
        value1.add(new IntValue(101));
        value1.add(new IntValue(102));
        value1.add(new IntValue(103));
        Assert.assertEquals(3, value1.size());

        Assert.assertEquals(0, value2.size());
        value2.add(new FloatValue(201f));
        value2.add(new FloatValue(202f));
        Assert.assertEquals(2, value2.size());

        ListValue<Value.Tvalue<?>> value3 = new ListValue<>(ValueType.FLOAT);
        value3.add(new FloatValue(301f));

        Assert.assertThrows(IllegalArgumentException.class, () -> {
            value3.add(new IntValue(303));
        }, e -> {
            Assert.assertContains("Invalid value '303' with type int",
                                  e.getMessage());
            Assert.assertContains("expect element with type float",
                                  e.getMessage());
        });

        Assert.assertThrows(IllegalArgumentException.class, () -> {
            value3.add(null);
        }, e -> {
            Assert.assertContains("Can't add null to list",
                                  e.getMessage());
        });

        ListValue<Value.Tvalue<?>> value4 = new ListValue<>(ValueType.UNKNOWN);
        Assert.assertEquals(ValueType.UNKNOWN, value4.elemType());
        value4.add(new IntValue(303));
        Assert.assertEquals(ValueType.INT, value4.elemType());

        Assert.assertThrows(IllegalArgumentException.class, () -> {
            value4.add(new FloatValue(303f));
        }, e -> {
            Assert.assertContains("expect element with type int",
                                  e.getMessage());
        });

        Assert.assertThrows(IllegalArgumentException.class, () -> {
            value4.add(null);
        }, e -> {
            Assert.assertContains("Can't add null to list",
                                  e.getMessage());
        });
    }