diff --git a/test/edu/nps/moves/dis7/EntityStatePduTest.java b/test/edu/nps/moves/dis7/EntityStatePduTest.java index 5cb59bb29004125773dd53962eea082148c76d1a..5451a7b9cdc4adaf2db260d87f36797ab7e39245 100644 --- a/test/edu/nps/moves/dis7/EntityStatePduTest.java +++ b/test/edu/nps/moves/dis7/EntityStatePduTest.java @@ -57,15 +57,7 @@ public class EntityStatePduTest extends PduTest sendPdu(newPdu); // will wait a while assertTrue(receivedPdu != null, "No response from network receive"); - 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"); + testPduHeader(newPdu); // can cast PDUs at this point since PduType matched EntityStatePdu newEspdu = (EntityStatePdu) newPdu; diff --git a/test/edu/nps/moves/dis7/FirePduTest.java b/test/edu/nps/moves/dis7/FirePduTest.java index 4ac78e6974302a0b86fa5daecf8dba83536876fd..b576ee84d06b8904ddbf40cba69f09bbab90fe8b 100644 --- a/test/edu/nps/moves/dis7/FirePduTest.java +++ b/test/edu/nps/moves/dis7/FirePduTest.java @@ -59,35 +59,28 @@ public class FirePduTest extends PduTest sendPdu(newPdu); // will wait a while assertTrue(receivedPdu != null, "No response from network receive"); - 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"); + testPduHeader(newPdu); // can cast PDUs at this point since PduType matched FirePdu newEspdu = (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 if (false) // true || !newEspdu.toString().equals(receivedEspdu.toString())) { diff --git a/test/edu/nps/moves/dis7/PduTest.java b/test/edu/nps/moves/dis7/PduTest.java index 3b1b4568d5b9f3078f6b8a10d83b38caf991b824..2d9c43a81f1c882edf9907991632eb4ccc8f5b65 100644 --- a/test/edu/nps/moves/dis7/PduTest.java +++ b/test/edu/nps/moves/dis7/PduTest.java @@ -34,9 +34,12 @@ POSSIBILITY OF SUCH DAMAGE. package edu.nps.moves.dis7; import edu.nps.moves.dis7.pdus.Pdu; +import edu.nps.moves.dis7.pdus.PduBase; import edu.nps.moves.dis7.utilities.DisThreadedNetworkInterface; import org.junit.jupiter.api.AfterAll; 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.BeforeEach; @@ -115,6 +118,19 @@ abstract public class PduTest { 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) */ public abstract void testRoundTrip();