public void TcasResolutionAdvisory_Constructor_Initialises_To_Known_State_And_Properties_Work()
        {
            var message = new TcasResolutionAdvisory();

            TestUtilities.TestProperty(message, m => m.MultipleThreatEncounter, false);
            TestUtilities.TestProperty(message, m => m.MultipleThreatResolutionAdvisory, null, MultipleThreatResolutionAdvisory.RequiresPositiveClimb);
            TestUtilities.TestProperty(message, m => m.ResolutionAdvisoryComplement, (ResolutionAdvisoryComplement)0, ResolutionAdvisoryComplement.DoNotTurnLeft);
            TestUtilities.TestProperty(message, m => m.ResolutionAdvisoryTerminated, false);
            TestUtilities.TestProperty(message, m => m.SingleThreatResolutionAdvisory, null, SingleThreatResolutionAdvisory.IsCorrective);
            TestUtilities.TestProperty(message, m => m.ThreatAltitude, null, 123);
            TestUtilities.TestProperty(message, m => m.ThreatBearing, null, (short)456);
            TestUtilities.TestProperty(message, m => m.ThreatIcao24, 0, 123456);
            TestUtilities.TestProperty(message, m => m.ThreatRange, null, 123F);
            TestUtilities.TestProperty(message, m => m.ThreatRangeExceeded, false);
        }
        public void TcasResolutionAdvisory_FormattedThreatIcao24_Formats_ThreatIcao24_Property()
        {
            var message = new TcasResolutionAdvisory();
            Assert.AreEqual(null, message.FormattedThreatIcao24);

            message.ThreatIcao24 = 0x0000ab;
            Assert.AreEqual("0000AB", message.FormattedThreatIcao24);

            message.ThreatIcao24 = 0x010203;
            Assert.AreEqual("010203", message.FormattedThreatIcao24);

            message.ThreatIcao24 = 0xffffff;
            Assert.AreEqual("FFFFFF", message.FormattedThreatIcao24);

            message.ThreatIcao24 = 0;
            Assert.AreEqual(null, message.FormattedThreatIcao24);

            // The formatting of ICAO24 values larger than 24 bits is undefined, we don't test it.
        }