### Question:
SetAsyncInputMessageFactory implements OFDeserializer<SetAsyncInput> { @Override public SetAsyncInput deserialize(ByteBuf rawMessage) { SetAsyncInputBuilder builder = new SetAsyncInputBuilder(); builder.setVersion((short) EncodeConstants.OF13_VERSION_ID); builder.setXid(rawMessage.readUnsignedInt()); builder.setPacketInMask(decodePacketInMask(rawMessage)); builder.setPortStatusMask(decodePortStatusMask(rawMessage)); builder.setFlowRemovedMask(decodeFlowRemovedMask(rawMessage)); return builder.build(); }  @Override SetAsyncInput deserialize(ByteBuf rawMessage);  }### Answer:
@Test public void test() { ByteBuf bb = BufferHelper .buildBuffer("00 00 00 07 00 00 00 00 00 00 00 " + "07 00 00 00 00 00 00 00 0f 00 00 00 00"); SetAsyncInput deserializedMessage = BufferHelper.deserialize(factory, bb); BufferHelper.checkHeaderV13(deserializedMessage); Assert.assertEquals("Wrong packet in mask ", createPacketInMask().get(0), deserializedMessage.getPacketInMask().get(0)); Assert.assertEquals("Wrong packet in mask ", createPacketInMask().get(1), deserializedMessage.getPacketInMask().get(1)); Assert.assertEquals("Wrong port status mask ", createPortStatusMask().get(0), deserializedMessage.getPortStatusMask().get(0)); Assert.assertEquals("Wrong port status mask ", createPortStatusMask().get(1), deserializedMessage.getPortStatusMask().get(1)); Assert.assertEquals("Wrong flow removed mask ", createFlowRemowedMask().get(0), deserializedMessage.getFlowRemovedMask().get(0)); Assert.assertEquals("Wrong flow removed mask ", createFlowRemowedMask().get(1), deserializedMessage.getFlowRemovedMask().get(1)); }