    @Test
    public void testMeterConfigSerialize() {

        builder.setType(MultipartType.forValue(10));
        MultipartReplyMeterConfigCaseBuilder meterConfigCase = new MultipartReplyMeterConfigCaseBuilder();
        MultipartReplyMeterConfigBuilder meterConfigBuilder = new MultipartReplyMeterConfigBuilder();
        meterConfigBuilder.setMeterConfig(createMeterConfig());
        meterConfigCase.setMultipartReplyMeterConfig(meterConfigBuilder.build());
        builder.setMultipartReplyBody(meterConfigCase.build());
        message = builder.build();
        ByteBuf serializedBuffer = UnpooledByteBufAllocator.DEFAULT.buffer();
        serializer.serialize(message, serializedBuffer);
        BufferHelper.checkHeaderV13(serializedBuffer, MESSAGE_TYPE, 48);
        Assert.assertEquals("Wrong type", MultipartType.OFPMPMETERCONFIG.getIntValue(), serializedBuffer.readShort());
        Assert.assertEquals("Wrong flags", message.getFlags(),
                createMultipartRequestFlags(serializedBuffer.readShort()));
        serializedBuffer.skipBytes(PADDING);
        MultipartReplyMeterConfigCase body = (MultipartReplyMeterConfigCase) message.getMultipartReplyBody();
        MultipartReplyMeterConfig messageOutput = body.getMultipartReplyMeterConfig();
        MeterConfig meterConfig = messageOutput.getMeterConfig().get(0);
        Assert.assertEquals("Wrong len", 32, serializedBuffer.readShort());
        Assert.assertEquals("Wrong flags", meterConfig.getFlags(), createMeterFlags(serializedBuffer.readShort()));
        Assert.assertEquals("Wrong meterId", meterConfig.getMeterId().getValue().intValue(),
                serializedBuffer.readInt());
        Assert.assertEquals("Wrong bands", meterConfig.getBands(), decodeBandsList(serializedBuffer));
    }