public void testUpateAircraftArrivalObjectAttributes() { // set the attributes to be updated // AircraftArrival newAircraftArrival = new AircraftArrival(); // NOTE: Used only since the unit testing is conducted in the VM. // Changing // this emulates what would happen if the objects were residing on // separate // machines and thus address spaces. newAircraftArrival.setDataObjectUUID(aircraftArrival.getDataObjectUUID()); newAircraftArrival.setCallSign(callSign); newAircraftArrival.setTailNumber(tailNumber); newAircraftArrival.setActualArrivalTimeMSecs(System.currentTimeMillis()); newAircraftArrival.setArrivalRunway(arrivalRunwayName); newAircraftArrival.setArrivalAirportCode(arrivalAirportCode); Set<String> fieldsToUpdate = new HashSet<String>(); fieldsToUpdate.add(EventAttributeName.arrivalRunway.toString()); fieldsToUpdate.add(EventAttributeName.arrivalAirportCode.toString()); try { objectService.updateObjectAttributes( federationExecutionID, newAircraftArrival, fieldsToUpdate); } catch (MuthurException e) { fail(e.getLocalizedMessage()); } // will retrieve the updated object from the object service and compare // it // to the object which should accurately test whether the update was // applied assertObjectExists(aircraftArrival); }
public void testAddAircraftArrivalObject() { aircraftArrival = null; try { aircraftArrival = new AircraftArrival(tailNumber, callSign); } catch (MuthurException e) { fail(e.getLocalizedMessage()); } aircraftArrival.setActualArrivalTimeMSecs(System.currentTimeMillis()); aircraftArrival.setArrivalAirportCode(arrivalAirportCode); aircraftArrival.setArrivalRunway(arrivalRunwayName); // add the aircraft arrival try { objectService.addDataObject(federationExecutionID, aircraftArrival); } catch (MuthurException e) { fail(e.getLocalizedMessage()); } assertObjectExists(aircraftArrival); }
@Test public void testCreateOrUpdateObjectRequestWithAircraftArrivalObject() { AircraftArrival acad = null; try { acad = new AircraftArrival(tailNumber, acid); } catch (Exception e) { fail(e.getLocalizedMessage()); } assertNotNull(acad); assertEquals(acad.getCallSign(), acid); assertEquals(acad.getTailNumber(), tailNumber); assertNotNull(acad.getDataObjectUUID()); assertFalse(acad.getDataObjectUUID().equalsIgnoreCase("")); assertTrue(acad.getObjectCreateTimeMSecs() != 0L); // arrival time acad.setActualArrivalTimeMSecs(System.currentTimeMillis() + 40); // arrival APs acad.setArrivalAirportCode("ORD"); // set runway acad.setArrivalRunway("7R"); // create a CreateObjectRequest CreateOrUpdateObjectRequest cor = new CreateOrUpdateObjectRequest(); assertNotNull(cor); cor.setFederationExecutionHandle(UUID.randomUUID().toString()); cor.setFederateRegistrationHandle(UUID.randomUUID().toString()); cor.setFederationExecutionModelHandle(UUID.randomUUID().toString()); cor.setSourceOfEvent("NexSim"); cor.setDataObject(acad); // serialize the object String corAsXML = cor.serialize(); // do standard validation assertNotNull(corAsXML); assertFalse(corAsXML.equals("")); // create another object from previous object's serialized form CreateOrUpdateObjectRequest objectFromXML = new CreateOrUpdateObjectRequest(); try { objectFromXML.initialization(corAsXML); } catch (MuthurException e) { fail(e.getLocalizedMessage()); } // ensure that the two objects are equal assertTrue(objectFromXML.equals(cor)); // get the serialized version of the new object String newObjSerializedAsXML = objectFromXML.serialize(); assertNotNull(newObjSerializedAsXML); assertFalse(newObjSerializedAsXML.equals("")); IBaseDataObject bdo = objectFromXML.getDataObject(); assertNotNull(bdo); assertTrue(bdo instanceof AircraftArrival); /** Initialize the internal data object from the serialized containing object */ try { bdo.initialization(newObjSerializedAsXML); } catch (MuthurException e) { fail(e.getLocalizedMessage()); } // check the serialized form of the data object String bdoSerialized = bdo.serialize(); assertNotNull(bdoSerialized); }