Skip to content
Snippets Groups Projects
Commit e7e199a2 authored by Brutzman, Don's avatar Brutzman, Don
Browse files

refactor common calls as testPduHeader(), add FirePdu field tests

parent 7efdcaf6
No related branches found
No related tags found
No related merge requests found
...@@ -57,15 +57,7 @@ public class EntityStatePduTest extends PduTest ...@@ -57,15 +57,7 @@ public class EntityStatePduTest extends PduTest
sendPdu(newPdu); // will wait a while sendPdu(newPdu); // will wait a while
assertTrue(receivedPdu != null, "No response from network receive"); assertTrue(receivedPdu != null, "No response from network receive");
assertEquals ( newPdu.getProtocolVersion(), receivedPdu.getProtocolVersion(), "mismatched ProtocolVersion"); testPduHeader(newPdu);
// TODO compatibility version
assertEquals ( newPdu.getExerciseID(), receivedPdu.getExerciseID(), "mismatched ExerciseID");
assertEquals ( newPdu.getPduType(), receivedPdu.getPduType(), "mismatched PduType");
assertEquals ( newPdu.getProtocolFamily(), receivedPdu.getProtocolFamily(), "mismatched ProtocolFamily"); // derived from PduType
assertEquals(((PduBase)newPdu).getPduStatus(), ((PduBase)receivedPdu).getPduStatus(), "mismatched PduStatus");
assertEquals(((PduBase)newPdu).getPadding(), ((PduBase)receivedPdu).getPadding(), "mismatched header padding");
// TODO HDR length
assertEquals (newPdu.getTimestamp(), receivedPdu.getTimestamp(), "mismatched Timestamp");
// can cast PDUs at this point since PduType matched // can cast PDUs at this point since PduType matched
EntityStatePdu newEspdu = (EntityStatePdu) newPdu; EntityStatePdu newEspdu = (EntityStatePdu) newPdu;
......
...@@ -59,35 +59,28 @@ public class FirePduTest extends PduTest ...@@ -59,35 +59,28 @@ public class FirePduTest extends PduTest
sendPdu(newPdu); // will wait a while sendPdu(newPdu); // will wait a while
assertTrue(receivedPdu != null, "No response from network receive"); assertTrue(receivedPdu != null, "No response from network receive");
assertEquals ( newPdu.getProtocolVersion(), receivedPdu.getProtocolVersion(), "mismatched ProtocolVersion"); testPduHeader(newPdu);
// TODO compatibility version
assertEquals ( newPdu.getExerciseID(), receivedPdu.getExerciseID(), "mismatched ExerciseID");
assertEquals ( newPdu.getPduType(), receivedPdu.getPduType(), "mismatched PduType");
assertEquals ( newPdu.getProtocolFamily(), receivedPdu.getProtocolFamily(), "mismatched ProtocolFamily"); // derived from PduType
assertEquals(((PduBase)newPdu).getPduStatus(), ((PduBase)receivedPdu).getPduStatus(), "mismatched PduStatus");
assertEquals(((PduBase)newPdu).getPadding(), ((PduBase)receivedPdu).getPadding(), "mismatched header padding");
// TODO HDR length
assertEquals (newPdu.getTimestamp(), receivedPdu.getTimestamp(), "mismatched Timestamp");
// can cast PDUs at this point since PduType matched // can cast PDUs at this point since PduType matched
FirePdu newEspdu = (FirePdu) newPdu; FirePdu newEspdu = (FirePdu) newPdu;
FirePdu receivedEspdu = (FirePdu) newPdu; FirePdu receivedEspdu = (FirePdu) newPdu;
// assertEquals (newEspdu.getEntityID(), receivedEspdu.getEntityID(), "mismatched EntityID");
// // TODO Sequence number
// assertEquals (newEspdu.getEntityType(), receivedEspdu.getEntityType(), "mismatched EntityType");
// // padding?
// assertEquals (newEspdu.getEntityAppearance(), receivedEspdu.getEntityAppearance(), "mismatched EntityAppearance");
// assertEquals (newEspdu.getCapabilities(), receivedEspdu.getCapabilities(), "mismatched EntityCapabilities");
// assertEquals (newEspdu.getEntityLocation(), receivedEspdu.getEntityLocation(), "mismatched EntityLocation");
// assertEquals (newEspdu.getEntityOrientation(), receivedEspdu.getEntityOrientation(), "mismatched EntityOrientation");
// assertEquals (newEspdu.getForceId(), receivedEspdu.getForceId(), "mismatched EntityForceId");
// assertEquals (newEspdu.getMarking(), receivedEspdu.getMarking(), "mismatched Marking");
// assertEquals (newEspdu.getDeadReckoningParameters(), receivedEspdu.getDeadReckoningParameters(), "mismatched DeadReckoningParameters");
//
// // attached parts, utility method for NumberVariableParameters
// assertEquals (newEspdu.getVariableParameters(), receivedEspdu.getVariableParameters(), "mismatched VariableParameters");
// assertEquals (newEspdu.getEntityLinearVelocity(), receivedEspdu.getEntityLinearVelocity(), "mismatched EntityLinearVelocity");
assertEquals (newEspdu.getFiringEntityID(), receivedEspdu.getFiringEntityID(), "mismatched FiringEntityID");
assertEquals (newEspdu.getTargetEntityID(), receivedEspdu.getTargetEntityID(), "mismatched TargetEntityID");
// TODO Target Entity ID (App, Entity)
// TODO Munition/Expendable Entity ID (Site, App)
// TODO Munition/Expendable Entity ID (Entity)
assertEquals (newEspdu.getEventID(), receivedEspdu.getEventID(), "mismatched EventID");
assertEquals (newEspdu.getLocationInWorldCoordinates(),receivedEspdu.getLocationInWorldCoordinates(),"mismatched LocationInWorldCoordinates");
assertEquals (newEspdu.getVelocity(), receivedEspdu.getVelocity(), "mismatched Velocity");
assertEquals (newEspdu.getFireMissionIndex(), receivedEspdu.getFireMissionIndex(), "mismatched FireMissionIndex");
assertEquals (newEspdu.getMunitionExpendibleID(), receivedEspdu.getMunitionExpendibleID(), "mismatched MunitionExpendibleID");
// TODO Munition Descriptor
assertEquals (newEspdu.getPadding(), receivedEspdu.getPadding(), "mismatched Padding");
assertEquals (newEspdu.getRange(), receivedEspdu.getRange(), "mismatched Range");
// TODO Fire Type, Padding2, Num Variable Records
// TODO Variable Records
// trace option to compare strings, JSON or XML // trace option to compare strings, JSON or XML
if (false) // true || !newEspdu.toString().equals(receivedEspdu.toString())) if (false) // true || !newEspdu.toString().equals(receivedEspdu.toString()))
{ {
......
...@@ -34,9 +34,12 @@ POSSIBILITY OF SUCH DAMAGE. ...@@ -34,9 +34,12 @@ POSSIBILITY OF SUCH DAMAGE.
package edu.nps.moves.dis7; package edu.nps.moves.dis7;
import edu.nps.moves.dis7.pdus.Pdu; import edu.nps.moves.dis7.pdus.Pdu;
import edu.nps.moves.dis7.pdus.PduBase;
import edu.nps.moves.dis7.utilities.DisThreadedNetworkInterface; import edu.nps.moves.dis7.utilities.DisThreadedNetworkInterface;
import org.junit.jupiter.api.AfterAll; import org.junit.jupiter.api.AfterAll;
import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.AfterEach;
import static org.junit.jupiter.api.Assertions.assertEquals;
import static org.junit.jupiter.api.Assertions.assertTrue;
import org.junit.jupiter.api.BeforeAll; import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.BeforeEach;
...@@ -115,6 +118,19 @@ abstract public class PduTest ...@@ -115,6 +118,19 @@ abstract public class PduTest
{ {
receivedPdu = newPdu; receivedPdu = newPdu;
} }
/** Common tests for fields in PDU header */
protected void testPduHeader (Pdu newPdu)
{
assertEquals ( newPdu.getProtocolVersion(), receivedPdu.getProtocolVersion(), "mismatched ProtocolVersion");
// TODO compatibility version
assertEquals ( newPdu.getExerciseID(), receivedPdu.getExerciseID(), "mismatched ExerciseID");
assertEquals ( newPdu.getPduType(), receivedPdu.getPduType(), "mismatched PduType");
assertEquals ( newPdu.getProtocolFamily(), receivedPdu.getProtocolFamily(), "mismatched ProtocolFamily"); // derived from PduType
assertEquals(((PduBase)newPdu).getPduStatus(), ((PduBase)receivedPdu).getPduStatus(), "mismatched PduStatus");
assertEquals(((PduBase)newPdu).getPadding(), ((PduBase)receivedPdu).getPadding(), "mismatched header padding");
// TODO HDR length
assertEquals (newPdu.getTimestamp(), receivedPdu.getTimestamp(), "mismatched Timestamp");
}
/** Test PDU sending, receiving, marshalling (serialization) and unmarshalling (deserialization) */ /** Test PDU sending, receiving, marshalling (serialization) and unmarshalling (deserialization) */
public abstract void testRoundTrip(); public abstract void testRoundTrip();
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment