/** Test PDU sending, receiving, marshalling (serialization) and unmarshalling (deserialization) */
@Test
@Override
publicvoidtestRoundTrip()
{
PduFactorypduFactory=newPduFactory();
DetonationPdupdu=pduFactory.makeDetonationPdu();
// TODO alternate constructors and utility methods
// TODO update PDU-specific tests
testOnePdu(pdu);
}
/** Test single PDU for correctness according to all contained fields in this PDU type
* See <a href="https://en.wikipedia.org/wiki/Marshalling_(computer_science)" target="_blank">https://en.wikipedia.org/wiki/Marshalling_(computer_science)</a>
* @param createdPdu separate PDU for comparison
*/
@Override
protectedvoidtestOnePdu(PducreatedPdu)
{
testPduSendReceiveHeaderMatch(createdPdu);// shared tests in superclass
// can cast PDUs at this point since PduType matched