Example #1
0
        public void TestBodyScanKareneriA1()
        {
            string data = @"{ ""TerraformState"": """", ""MassEM"": 0.669502, ""PlanetClass"": ""High metal content body"", ""SurfacePressure"": 600184.6875, ""RotationPeriod"": 158551.375, ""event"": ""Scan"", ""OrbitalPeriod"": 158550.609375, ""Eccentricity"": 0.75061, ""AtmosphereType"": ""SulphurDioxide"", ""SurfaceTemperature"": 517.645813, ""TidalLock"": true, ""Periapsis"": 87.2164, ""BodyName"": ""Kareneri A 1"", ""SemiMajorAxis"": 2612434432, ""timestamp"": ""2017-02-22T10:53:18Z"", ""Volcanism"": ""metallic magma volcanism"", ""Atmosphere"": ""hot thick sulphur dioxide atmosphere"", ""OrbitalInclination"": -15.958412, ""Landable"": false, ""Radius"": 5442029, ""DistanceFromArrivalLS"": 6.102605, ""SurfaceGravity"": 9.010311 }";

            List <Event> events = EddiJournalMonitor.JournalMonitor.ParseJournalEntry(data);

            Assert.IsTrue(events.Count == 1);

            Assert.IsTrue(events[0] is BodyScannedEvent);
            BodyScannedEvent bsEvent = (BodyScannedEvent)events[0];

            Assert.IsNotNull(bsEvent.volcanism);
            Assert.AreEqual("Magma", bsEvent.volcanism.invariantType);
            Assert.AreEqual("Iron", bsEvent.volcanism.invariantComposition);
            Assert.IsNull(bsEvent.volcanism.invariantAmount);
        }
Example #2
0
        public void TestBodyScanPruEurkTXBc135A1()
        {
            string data = @"{ ""TerraformState"": """", ""MassEM"": 1.852702, ""PlanetClass"": ""High metal content body"", ""SurfacePressure"": 28794888.0, ""RotationPeriod"": 14164107.0, ""event"": ""Scan"", ""OrbitalPeriod"": 14146797.0, ""Eccentricity"": 4e-06, ""AtmosphereType"": ""CarbonDioxide"", ""SurfaceTemperature"": 1045.624512, ""TidalLock"": true, ""Periapsis"": 347.254364, ""BodyName"": ""Pru Eurk TX - B c13 - 5 A 1"", ""SemiMajorAxis"": 84379811840.0, ""timestamp"": ""2017 - 02 - 22T10: 53:44Z"", ""Volcanism"": ""minor silicate vapour geysers volcanism"", ""Atmosphere"": ""hot thick carbon dioxide atmosphere"", ""OrbitalInclination"": 0.143376, ""Landable"": false, ""Radius"": 7275987.0, ""DistanceFromArrivalLS"": 281.461151, ""SurfaceGravity"": 13.948622 }";

            List <Event> events = EddiJournalMonitor.JournalMonitor.ParseJournalEntry(data);

            Assert.IsTrue(events.Count == 1);

            Assert.IsTrue(events[0] is BodyScannedEvent);
            BodyScannedEvent bsEvent = (BodyScannedEvent)events[0];

            Assert.IsNotNull(bsEvent.volcanism);
            Assert.AreEqual("Geysers", bsEvent.volcanism.invariantType);
            Assert.AreEqual("Silicate vapour", bsEvent.volcanism.invariantComposition);
            Assert.AreEqual("Minor", bsEvent.volcanism.invariantAmount);
        }
Example #3
0
        public void TestBodyScanDagutiiABC1b()
        {
            string data = @"{ ""timestamp"":""2016-10-05T10:28:04Z"", ""event"":""Scan"", ""BodyName"":""Dagutii ABC 1 b"", ""DistanceFromArrivalLS"":644.074463, ""TidalLock"":true, ""TerraformState"":"""", ""PlanetClass"":""Icy body"", ""Atmosphere"":"""", ""Volcanism"":""carbon dioxide geysers volcanism"", ""MassEM"":0.001305, ""Radius"":964000.375000, ""SurfaceGravity"":0.559799, ""SurfaceTemperature"":89.839241, ""SurfacePressure"":0.000000, ""Landable"":true, ""Materials"":{ ""sulphur"":26.8, ""carbon"":22.5, ""phosphorus"":14.4, ""iron"":12.1, ""nickel"":9.2, ""chromium"":5.4, ""selenium"":4.2, ""vanadium"":3.0, ""niobium"":0.8, ""molybdenum"":0.8, ""ruthenium"":0.7 }, ""SemiMajorAxis"":739982912.000000, ""Eccentricity"":0.000102, ""OrbitalInclination"":-0.614765, ""Periapsis"":233.420425, ""OrbitalPeriod"":242733.156250, ""RotationPeriod"":242735.265625 }";

            List <Event> events = EddiJournalMonitor.JournalMonitor.ParseJournalEntry(data);

            Assert.IsTrue(events.Count == 1);

            Assert.IsTrue(events[0] is BodyScannedEvent);
            BodyScannedEvent bsEvent = (BodyScannedEvent)events[0];

            Assert.IsNotNull(bsEvent.volcanism);
            Assert.AreEqual("Geysers", bsEvent.volcanism.invariantType);
            Assert.AreEqual("Carbon dioxide", bsEvent.volcanism.invariantComposition);
            Assert.IsNull(bsEvent.volcanism.invariantAmount);
        }
Example #4
0
        public void TestBodyScanVegnaaNLRc194B2c()
        {
            string data = @"{ ""TerraformState"": """", ""MassEM"": 0.00021, ""PlanetClass"": ""Rocky body"", ""SurfacePressure"": 0.0, ""RotationPeriod"": 175479.578125, ""event"": ""Scan"", ""OrbitalPeriod"": 119920.4375, ""Eccentricity"": 0.064521, ""AtmosphereType"": ""SulphurDioxide"", ""SurfaceTemperature"": 155.416016, ""TidalLock"": true, ""Periapsis"": 142.903015, ""BodyName"": ""Vegnaa NL-R c19-4 B 2 c"", ""SemiMajorAxis"": 1799156.125, ""timestamp"": ""2017-02-22T10:53:18Z"", ""Volcanism"": ""major rocky magma volcanism"", ""Atmosphere"": """", ""OrbitalInclination"": -3.066051, ""Landable"": false, ""Radius"": 419237.34375, ""DistanceFromArrivalLS"": 141767.375, ""SurfaceGravity"": 0.475953 }";

            List <Event> events = EddiJournalMonitor.JournalMonitor.ParseJournalEntry(data);

            Assert.IsTrue(events.Count == 1);

            Assert.IsTrue(events[0] is BodyScannedEvent);
            BodyScannedEvent bsEvent = (BodyScannedEvent)events[0];

            Assert.IsNotNull(bsEvent.volcanism);
            Assert.AreEqual("Magma", bsEvent.volcanism.type);
            Assert.AreEqual("Silicate", bsEvent.volcanism.composition);
            Assert.AreEqual("Major", bsEvent.volcanism.amount);
        }
Example #5
0
        public void TestBodyMappedEventHandler()
        {
            string       line   = @"{ ""timestamp"":""2016 - 11 - 01T18: 49:07Z"", ""event"":""Scan"", ""ScanType"":""Detailed"", ""BodyName"":""Grea Bloae HH-T d4-44 4"", ""BodyID"":3, ""DistanceFromArrivalLS"":703.763611, ""TidalLock"":false, ""TerraformState"":""Terraformable"", ""PlanetClass"":""High metal content body"", ""Atmosphere"":""hot thick carbon dioxide atmosphere"", ""Volcanism"":""minor metallic magma volcanism"", ""MassEM"":2.171783, ""Radius"":7622170.500000, ""SurfaceGravity"":14.899396, ""SurfaceTemperature"":836.165466, ""SurfacePressure"":33000114.000000, ""Landable"":false, ""SemiMajorAxis"":210957926400.000000, ""Eccentricity"":0.000248, ""OrbitalInclination"":0.015659, ""Periapsis"":104.416656, ""OrbitalPeriod"":48801056.000000, ""RotationPeriod"":79442.242188 }";
            List <Event> events = JournalMonitor.ParseJournalEntry(line);

            Assert.AreEqual(1, events.Count);
            BodyScannedEvent @event = (BodyScannedEvent)events[0];

            Assert.IsNotNull(@event);
            Assert.IsInstanceOfType(@event, typeof(BodyScannedEvent));

            PrivateObject privateObject = new PrivateObject(EDDI.Instance);

            privateObject.Invoke("updateCurrentSystem", new object[] { "Grea Bloae HH-T d4-44" });
            Assert.AreEqual("Grea Bloae HH-T d4-44", EDDI.Instance.CurrentStarSystem?.systemname);

            // Set up conditions to test the first scan of the body
            var body = EDDI.Instance.CurrentStarSystem?.bodies.Find(b => b.bodyname == "Grea Bloae HH-T d4-44 4");

            if (body != null)
            {
                body.scanned = null;
            }
            var result = (bool)privateObject.Invoke("eventBodyScanned", new object[] { @event });

            Assert.AreEqual(@event.timestamp, EDDI.Instance.CurrentStarSystem?.bodies.Find(b => b.bodyname == "Grea Bloae HH-T d4-44 4").scanned);
            long event1EstimatedValue = EDDI.Instance.CurrentStarSystem.bodies.Find(b => b.bodyname == "Grea Bloae HH-T d4-44 4").estimatedvalue;

            // Map the body
            string line2 = @"{ ""timestamp"":""2016 - 11 - 01T18: 59:07Z"", ""event"":""SAAScanComplete"", ""BodyName"":""Grea Bloae HH-T d4-44 4"", ""BodyID"":3, ""ProbesUsed"":5, ""EfficiencyTarget"":6 }";

            events = JournalMonitor.ParseJournalEntry(line2);
            Assert.AreEqual(1, events.Count);
            BodyMappedEvent @event2 = (BodyMappedEvent)events[0];

            result = (bool)privateObject.Invoke("eventBodyMapped", new object[] { @event2 });

            Assert.AreEqual(@event.timestamp, EDDI.Instance.CurrentStarSystem.bodies.Find(b => b.bodyname == "Grea Bloae HH-T d4-44 4").scanned);
            Assert.AreEqual(@event2.timestamp, EDDI.Instance.CurrentStarSystem.bodies.Find(b => b.bodyname == "Grea Bloae HH-T d4-44 4").mapped);
            Assert.IsTrue(EDDI.Instance.CurrentStarSystem.bodies.Find(b => b.bodyname == "Grea Bloae HH-T d4-44 4").estimatedvalue > event1EstimatedValue);
        }
Example #6
0
        public void TestJournalPlanetScan3()
        {
            string line = @"{
        ""Atmosphere"": ""hot thick carbon dioxide atmosphere"",
         ""AtmosphereComposition"": [
            {
                ""Name"": ""CarbonDioxide"",
                 ""Percent"": 96.5
            },
             {
                ""Name"": ""Nitrogen"",
                 ""Percent"": 3.499999
            }
        ],
         ""AtmosphereType"": ""CarbonDioxide"",
         ""AxialTilt"": 3.094469,
         ""BodyID"": 2,
         ""BodyName"": ""Venus"",
         ""Composition"": {
            ""Ice"": 0.0,
             ""Metal"": 0.3,
             ""Rock"": 0.7
        },
         ""DistanceFromArrivalLS"": 360.959534,
         ""Eccentricity"": 0.0067,
         ""Landable"": false,
         ""MassEM"": 0.815,
         ""OrbitalInclination"": 3.395,
         ""OrbitalPeriod"": 19414166.0,
         ""Parents"": [
            {
                ""Star"": 0
            }
        ],
         ""Periapsis"": 55.186001,
         ""PlanetClass"": ""High metal content body"",
         ""Radius"": 6051800.0,
         ""RotationPeriod"": 20996798.0,
         ""ScanType"": ""NavBeaconDetail"",
         ""SemiMajorAxis"": 108207980544.0,
         ""SurfaceGravity"": 8.869474,
         ""SurfacePressure"": 9442427.0,
         ""SurfaceTemperature"": 735.0,
         ""SystemAddress"": 10477373803,
         ""TerraformState"": """",
         ""TidalLock"": true,
         ""Volcanism"": ""minor rocky magma volcanism"",
         ""event"": ""Scan"",
         ""timestamp"": ""2018-09-03T19:07:54Z""
    }";

            List <Event> events = JournalMonitor.ParseJournalEntry(line);

            Assert.IsTrue(events.Count == 1);
            Assert.IsInstanceOfType(events[0], typeof(BodyScannedEvent));
            BodyScannedEvent ev = events[0] as BodyScannedEvent;

            Assert.IsNotNull(ev);
            Assert.AreEqual("Carbon dioxide", ev.atmosphereclass.invariantName);
            Assert.AreEqual(96.5M, ev.atmospherecomposition[0].percent);
            Assert.AreEqual("Rock", ev.solidcomposition[0].invariantName);
            Assert.AreEqual(70M, ev.solidcomposition[0].percent);
        }