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); }
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); }
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); }
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); }
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); }
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); }