]> git.smokeofanarchy.ru Git - space-station-14.git/commitdiff
Add `AtmosTest` test assertion for a valid grid (#42139)
authorArtisticRoomba <145879011+ArtisticRoomba@users.noreply.github.com>
Sun, 28 Dec 2025 13:35:07 +0000 (05:35 -0800)
committerGitHub <noreply@github.com>
Sun, 28 Dec 2025 13:35:07 +0000 (13:35 +0000)
add test assertion for a valid grid

Content.IntegrationTests/Tests/Atmos/AtmosTest.cs

index d50c4a200ba0cb4099ff4f36f682c4f08367fcfe..d3bdc91cda44defc62190ef24968243d28672580 100644 (file)
@@ -20,7 +20,7 @@ public abstract class AtmosTest : InteractionTest
     protected AtmosphereSystem SAtmos = default!;
     protected EntityLookupSystem LookupSystem = default!;
 
-    protected Entity<GridAtmosphereComponent> RelevantAtmos = default!;
+    protected Entity<GridAtmosphereComponent> RelevantAtmos;
 
     /// <summary>
     /// Used in <see cref="AtmosphereSystem.RunProcessingFull"/>. Resolved during test setup.
@@ -40,14 +40,35 @@ public abstract class AtmosTest : InteractionTest
         SAtmos = SEntMan.System<AtmosphereSystem>();
         LookupSystem = SEntMan.System<EntityLookupSystem>();
 
-        RelevantAtmos = (MapData.Grid, SEntMan.GetComponent<GridAtmosphereComponent>(MapData.Grid));
+        SEntMan.TryGetComponent<GridAtmosphereComponent>(MapData.Grid, out var gridAtmosComp);
+        SEntMan.TryGetComponent<GasTileOverlayComponent>(MapData.Grid, out var overlayComp);
+        SEntMan.TryGetComponent<MapGridComponent>(MapData.Grid, out var mapGridComp);
+        var xform = SEntMan.GetComponent<TransformComponent>(MapData.Grid);
+
+        using (Assert.EnterMultipleScope())
+        {
+            Assert.That(gridAtmosComp,
+                    Is.Not.Null,
+                    "Loaded map doesn't have a GridAtmosphereComponent on its grid. " +
+                    "Did you forget to override TestMapPath with a proper atmospherics testing map?");
+            Assert.That(overlayComp,
+                Is.Not.Null,
+                "Loaded map doesn't have a GasTileOverlayComponent on its grid. " +
+                "Did you forget to override TestMapPath with a proper atmospherics testing map?");
+            Assert.That(mapGridComp,
+                Is.Not.Null,
+                "Loaded map doesn't have a MapGridComponent on its grid. " +
+                "Did you forget to override TestMapPath with a proper atmospherics testing map?");
+        }
+
+        RelevantAtmos = (MapData.Grid, gridAtmosComp);
 
         ProcessEnt = new Entity<GridAtmosphereComponent, GasTileOverlayComponent, MapGridComponent, TransformComponent>(
             MapData.Grid.Owner,
-            SEntMan.GetComponent<GridAtmosphereComponent>(MapData.Grid.Owner),
-            SEntMan.GetComponent<GasTileOverlayComponent>(MapData.Grid.Owner),
-            SEntMan.GetComponent<MapGridComponent>(MapData.Grid.Owner),
-            SEntMan.GetComponent<TransformComponent>(MapData.Grid.Owner));
+            gridAtmosComp,
+            overlayComp,
+            mapGridComp,
+            xform);
     }
 
     /// <summary>