public void setMultiValues(long partitionId, List<List<String>> multiValues) {
        this.idToMultiValues.put(partitionId, multiValues);
    }
@Test
    public void testMultiListPartition(@Injectable OlapTable dstTable) throws UserException {

        DescriptorTable descTable = new DescriptorTable();
        TupleDescriptor tuple = descTable.createTupleDescriptor("DstTable");
        // k1
        SlotDescriptor k1 = descTable.addSlotDescriptor(tuple);
        k1.setColumn(new Column("k1", Type.BIGINT));
        k1.setIsMaterialized(true);

        // k2
        SlotDescriptor k2 = descTable.addSlotDescriptor(tuple);
        k2.setColumn(new Column("k2", ScalarType.createVarchar(25)));
        k2.setIsMaterialized(true);
        // v1
        SlotDescriptor v1 = descTable.addSlotDescriptor(tuple);
        v1.setColumn(new Column("v1", ScalarType.createVarchar(25)));
        v1.setIsMaterialized(true);
        // v2
        SlotDescriptor v2 = descTable.addSlotDescriptor(tuple);
        v2.setColumn(new Column("v2", Type.BIGINT));
        v2.setIsMaterialized(true);

        ListPartitionInfo listPartitionInfo = new ListPartitionInfo(PartitionType.LIST,
                Lists.newArrayList(new Column("dt", Type.STRING), new Column("province", Type.STRING)));
        List<String> multiItems = Lists.newArrayList("dt", "shanghai");
        List<List<String>> multiValues = new ArrayList<>();
        multiValues.add(multiItems);

        listPartitionInfo.setMultiValues(1, multiValues);
        listPartitionInfo.setReplicationNum(1, (short) 3);
        MaterializedIndex index = new MaterializedIndex(1, MaterializedIndex.IndexState.NORMAL);
        HashDistributionInfo distInfo = new HashDistributionInfo(
                3, Lists.newArrayList(new Column("id", Type.BIGINT)));
        Partition partition = new Partition(1, "p1", index, distInfo);

        Map<ColumnId, Column> idToColumn = Maps.newTreeMap(ColumnId.CASE_INSENSITIVE_ORDER);
        idToColumn.put(ColumnId.create("dt"), new Column("dt", Type.STRING));
        idToColumn.put(ColumnId.create("province"), new Column("province", Type.STRING));
        new Expectations() {{
                dstTable.getId();
                result = 1;
                dstTable.getPartitions();
                result = Lists.newArrayList(partition);
                dstTable.getPartition(1L);
                result = partition;
                dstTable.getPartitionInfo();
                result = listPartitionInfo;
                dstTable.getIdToColumn();
                result = idToColumn;
            }};

        OlapTableSink sink = new OlapTableSink(dstTable, tuple, Lists.newArrayList(1L),
                TWriteQuorumType.MAJORITY, false, false, false);
        sink.init(new TUniqueId(1, 2), 3, 4, 1000);
        sink.complete();

        Assert.assertTrue(sink.toThrift() instanceof TDataSink);
    }