예제 #1
0
        public void ReportFlightJson_Constructor_Initialises_To_Known_State_And_Properties_Work()
        {
            var json = new ReportFlightJson();

            TestUtilities.TestProperty(json, r => r.AircraftIndex, null, 1);
            TestUtilities.TestProperty(json, r => r.Callsign, null, "Ab");
            TestUtilities.TestProperty(json, r => r.EndTime, DateTime.MinValue, DateTime.Now);
            TestUtilities.TestProperty(json, r => r.FirstAltitude, 0, 1);
            TestUtilities.TestProperty(json, r => r.FirstGroundSpeed, 0, 1);
            TestUtilities.TestProperty(json, r => r.FirstIsOnGround, false);
            TestUtilities.TestProperty(json, r => r.FirstLatitude, 0.0, 1.0);
            TestUtilities.TestProperty(json, r => r.FirstLongitude, 0.0, 1.0);
            TestUtilities.TestProperty(json, r => r.FirstSquawk, 0, 1);
            TestUtilities.TestProperty(json, r => r.FirstTrack, 0f, 1f);
            TestUtilities.TestProperty(json, r => r.FirstVerticalRate, 0, 1);
            TestUtilities.TestProperty(json, r => r.HadAlert, false);
            TestUtilities.TestProperty(json, r => r.HadEmergency, false);
            TestUtilities.TestProperty(json, r => r.HadSpi, false);
            TestUtilities.TestProperty(json, r => r.LastAltitude, 0, 1);
            TestUtilities.TestProperty(json, r => r.LastGroundSpeed, 0, 1);
            TestUtilities.TestProperty(json, r => r.LastIsOnGround, false);
            TestUtilities.TestProperty(json, r => r.LastLatitude, 0.0, 1.0);
            TestUtilities.TestProperty(json, r => r.LastLongitude, 0.0, 1.0);
            TestUtilities.TestProperty(json, r => r.LastSquawk, 0, 1);
            TestUtilities.TestProperty(json, r => r.LastTrack, 0f, 1f);
            TestUtilities.TestProperty(json, r => r.LastVerticalRate, 0, 1);
            TestUtilities.TestProperty(json, r => r.NumADSBMsgRec, 0, 1);
            TestUtilities.TestProperty(json, r => r.NumModeSMsgRec, 0, 1);
            TestUtilities.TestProperty(json, r => r.NumPosMsgRec, 0, 1);
            TestUtilities.TestProperty(json, r => r.RouteIndex, 0, 1);
            TestUtilities.TestProperty(json, r => r.RowNumber, 0, 1);
            TestUtilities.TestProperty(json, r => r.StartTime, DateTime.MinValue, DateTime.Now);
        }
        /// <summary>
        /// Creates a JSON representation of the database flight and adds it to an existing list of flights.
        /// </summary>
        /// <param name="flight"></param>
        /// <param name="flightList"></param>
        /// <param name="rowNumber"></param>
        /// <returns></returns>
        private ReportFlightJson AddReportFlightJson(BaseStationFlight flight, List <ReportFlightJson> flightList, ref int rowNumber)
        {
            var result = new ReportFlightJson()
            {
                RowNumber         = rowNumber++,
                Callsign          = flight.Callsign,
                StartTime         = flight.StartTime,
                EndTime           = flight.EndTime.GetValueOrDefault(),
                FirstAltitude     = flight.FirstAltitude.GetValueOrDefault(),
                FirstGroundSpeed  = (int)flight.FirstGroundSpeed.GetValueOrDefault(),
                FirstIsOnGround   = flight.FirstIsOnGround,
                FirstLatitude     = flight.FirstLat.GetValueOrDefault(),
                FirstLongitude    = flight.FirstLon.GetValueOrDefault(),
                FirstSquawk       = flight.FirstSquawk.GetValueOrDefault(),
                FirstTrack        = flight.FirstTrack.GetValueOrDefault(),
                FirstVerticalRate = flight.FirstVerticalRate.GetValueOrDefault(),
                HadAlert          = flight.HadAlert,
                HadEmergency      = flight.HadEmergency,
                HadSpi            = flight.HadSpi,
                LastAltitude      = flight.LastAltitude.GetValueOrDefault(),
                LastGroundSpeed   = (int)flight.LastGroundSpeed.GetValueOrDefault(),
                LastIsOnGround    = flight.LastIsOnGround,
                LastLatitude      = flight.LastLat.GetValueOrDefault(),
                LastLongitude     = flight.LastLon.GetValueOrDefault(),
                LastSquawk        = flight.LastSquawk.GetValueOrDefault(),
                LastTrack         = flight.LastTrack.GetValueOrDefault(),
                LastVerticalRate  = flight.LastVerticalRate.GetValueOrDefault(),
                NumADSBMsgRec     = flight.NumADSBMsgRec.GetValueOrDefault(),
                NumModeSMsgRec    = flight.NumModeSMsgRec.GetValueOrDefault(),
                NumPosMsgRec      = flight.NumPosMsgRec.GetValueOrDefault(),
            };

            flightList.Add(result);

            return(result);
        }