Code Cleanup: Integration Tests (#29584)
* Cleanup PuddleTest * Cleanup GravityGridTest * Cleanup PowerTest * Cleanup SaveLoadMapTest * Cleanup Body tests * Cleanup ContainerOcclusionTest * Cleanup AirlockTest * Cleanup DamageableTest * Cleanup EntityTest * Cleanup FluidSpillTest * Cleanup FollowerSystemTest * Cleanup HandCuffTest * Cleanup InteractionSystemTests * Cleanup InRangeUnobstructed * Cleanup SimplePredictReconcileTest * Cleanup PostMapInitTest * Cleanup SalvageTest * Cleanup SaveLoadSaveTest * Cleanup ShuttleTest * Cleanup MaterialArbitrageTest * Cleanup PrototypeSaveTest * Fix ShuttleTest * Bunch of small ones * Move JobTests to Station directory * More small fixes * Cleanup InteractionTest.Helpers Had to change a method signature, so some callers were modified too. * Missed one
This commit is contained in:
@@ -5,7 +5,6 @@ using Content.Shared.Body.Part;
|
||||
using Content.Shared.Rotation;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.IntegrationTests.Tests.Body
|
||||
{
|
||||
@@ -40,13 +39,14 @@ namespace Content.IntegrationTests.Tests.Body
|
||||
var appearanceSystem = entityManager.System<SharedAppearanceSystem>();
|
||||
var xformSystem = entityManager.System<SharedTransformSystem>();
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
BodyComponent body = null;
|
||||
|
||||
human = entityManager.SpawnEntity("HumanBodyAndAppearanceDummy",
|
||||
new MapCoordinates(Vector2.Zero, mapId));
|
||||
new MapCoordinates(Vector2.Zero, map.MapId));
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
@@ -61,7 +61,7 @@ namespace Content.IntegrationTests.Tests.Body
|
||||
|
||||
foreach (var leg in legs)
|
||||
{
|
||||
xformSystem.DetachParentToNull(leg.Id, entityManager.GetComponent<TransformComponent>(leg.Id));
|
||||
xformSystem.DetachEntity(leg.Id, entityManager.GetComponent<TransformComponent>(leg.Id));
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -60,8 +60,8 @@ namespace Content.IntegrationTests.Tests.Body
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var mapLoader = entityManager.System<MapLoaderSystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
|
||||
MapId mapId;
|
||||
EntityUid? grid = null;
|
||||
BodyComponent body = default;
|
||||
RespiratorComponent resp = default;
|
||||
@@ -73,7 +73,7 @@ namespace Content.IntegrationTests.Tests.Body
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
mapSys.CreateMap(out var mapId);
|
||||
Assert.That(mapLoader.TryLoad(mapId, testMapName, out var roots));
|
||||
|
||||
var query = entityManager.GetEntityQuery<MapGridComponent>();
|
||||
@@ -142,8 +142,8 @@ namespace Content.IntegrationTests.Tests.Body
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
var mapLoader = entityManager.System<MapLoaderSystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
|
||||
MapId mapId;
|
||||
EntityUid? grid = null;
|
||||
RespiratorComponent respirator = null;
|
||||
EntityUid human = default;
|
||||
@@ -152,7 +152,7 @@ namespace Content.IntegrationTests.Tests.Body
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
mapSys.CreateMap(out var mapId);
|
||||
|
||||
Assert.That(mapLoader.TryLoad(mapId, testMapName, out var ents), Is.True);
|
||||
var query = entityManager.GetEntityQuery<MapGridComponent>();
|
||||
|
||||
@@ -33,10 +33,11 @@ public sealed class SaveLoadReparentTest
|
||||
var mapLoader = entities.System<MapLoaderSystem>();
|
||||
var bodySystem = entities.System<SharedBodySystem>();
|
||||
var containerSystem = entities.System<SharedContainerSystem>();
|
||||
var mapSys = entities.System<SharedMapSystem>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var mapId = maps.CreateMap();
|
||||
mapSys.CreateMap(out var mapId);
|
||||
maps.CreateGrid(mapId);
|
||||
var human = entities.SpawnEntity("HumanBodyDummy", new MapCoordinates(0, 0, mapId));
|
||||
|
||||
@@ -115,7 +116,7 @@ public sealed class SaveLoadReparentTest
|
||||
mapLoader.SaveMap(mapId, mapPath);
|
||||
maps.DeleteMap(mapId);
|
||||
|
||||
mapId = maps.CreateMap();
|
||||
mapSys.CreateMap(out mapId);
|
||||
Assert.That(mapLoader.TryLoad(mapId, mapPath, out _), Is.True);
|
||||
|
||||
var query = EnumerateQueryEnumerator(
|
||||
|
||||
@@ -19,11 +19,11 @@ namespace Content.IntegrationTests.Tests;
|
||||
[TestFixture]
|
||||
public sealed class CargoTest
|
||||
{
|
||||
public static HashSet<ProtoId<CargoProductPrototype>> Ignored = new ()
|
||||
{
|
||||
private static readonly HashSet<ProtoId<CargoProductPrototype>> Ignored =
|
||||
[
|
||||
// This is ignored because it is explicitly intended to be able to sell for more than it costs.
|
||||
new("FunCrateGambling")
|
||||
};
|
||||
];
|
||||
|
||||
[Test]
|
||||
public async Task NoCargoOrderArbitrage()
|
||||
|
||||
@@ -9,10 +9,10 @@ namespace Content.IntegrationTests.Tests.Chemistry
|
||||
{
|
||||
public sealed class FixedPoint2SerializationTest : SerializationTest
|
||||
{
|
||||
protected override Assembly[] Assemblies => new[]
|
||||
{
|
||||
protected override Assembly[] Assemblies =>
|
||||
[
|
||||
typeof(FixedPoint2SerializationTest).Assembly
|
||||
};
|
||||
];
|
||||
|
||||
[Test]
|
||||
public void DeserializeNullTest()
|
||||
@@ -53,6 +53,6 @@ namespace Content.IntegrationTests.Tests.Chemistry
|
||||
[DataDefinition]
|
||||
public sealed partial class FixedPoint2TestDefinition
|
||||
{
|
||||
[DataField("unit")] public FixedPoint2? Unit { get; set; } = FixedPoint2.New(5);
|
||||
[DataField] public FixedPoint2? Unit { get; set; } = FixedPoint2.New(5);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Content.Server.Chemistry.Containers.EntitySystems;
|
||||
using Content.Shared.Chemistry.Components;
|
||||
using Content.Shared.Chemistry.EntitySystems;
|
||||
using Content.Shared.Chemistry.Reaction;
|
||||
using Content.Shared.Chemistry.Reagent;
|
||||
using Content.Shared.FixedPoint;
|
||||
@@ -76,7 +76,7 @@ public sealed class SolutionRoundingTest
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var system = server.System<SolutionContainerSystem>();
|
||||
var system = server.System<SharedSolutionContainerSystem>();
|
||||
var beaker = server.EntMan.SpawnEntity("SolutionRoundingTestContainer", testMap.GridCoords);
|
||||
|
||||
system.TryGetSolution(beaker, "beaker", out var newSolutionEnt, out var newSolution);
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
using Content.Server.Chemistry.Containers.EntitySystems;
|
||||
using Content.Shared.Chemistry.Components;
|
||||
using Content.Shared.Chemistry.EntitySystems;
|
||||
using Content.Shared.FixedPoint;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Prototypes;
|
||||
@@ -11,7 +11,7 @@ namespace Content.IntegrationTests.Tests.Chemistry;
|
||||
// To ensure volume(A) + volume(B) = volume(A+B)
|
||||
// reactions can change this assumption
|
||||
[TestFixture]
|
||||
[TestOf(typeof(SolutionContainerSystem))]
|
||||
[TestOf(typeof(SharedSolutionContainerSystem))]
|
||||
public sealed class SolutionSystemTests
|
||||
{
|
||||
[TestPrototypes]
|
||||
@@ -51,7 +51,7 @@ public sealed class SolutionSystemTests
|
||||
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var containerSystem = entityManager.System<SolutionContainerSystem>();
|
||||
var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
|
||||
var testMap = await pair.CreateTestMap();
|
||||
var coordinates = testMap.GridCoords;
|
||||
|
||||
@@ -97,7 +97,7 @@ public sealed class SolutionSystemTests
|
||||
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var containerSystem = entityManager.System<SolutionContainerSystem>();
|
||||
var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
|
||||
var coordinates = testMap.GridCoords;
|
||||
|
||||
EntityUid beaker;
|
||||
@@ -141,7 +141,7 @@ public sealed class SolutionSystemTests
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var testMap = await pair.CreateTestMap();
|
||||
var containerSystem = entityManager.System<SolutionContainerSystem>();
|
||||
var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
|
||||
var coordinates = testMap.GridCoords;
|
||||
|
||||
EntityUid beaker;
|
||||
@@ -194,7 +194,7 @@ public sealed class SolutionSystemTests
|
||||
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var containerSystem = entityManager.System<SolutionContainerSystem>();
|
||||
var containerSystem = entityManager.System<SharedSolutionContainerSystem>();
|
||||
var testMap = await pair.CreateTestMap();
|
||||
var coordinates = testMap.GridCoords;
|
||||
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
using Content.Server.Chemistry.Containers.EntitySystems;
|
||||
using Content.Shared.Chemistry.Reaction;
|
||||
using Content.Shared.Chemistry.Components;
|
||||
using Robust.Shared.GameObjects;
|
||||
@@ -6,6 +5,7 @@ using Robust.Shared.Map;
|
||||
using Robust.Shared.Prototypes;
|
||||
using Robust.Shared.Utility;
|
||||
using System.Linq;
|
||||
using Content.Shared.Chemistry.EntitySystems;
|
||||
|
||||
namespace Content.IntegrationTests.Tests.Chemistry
|
||||
{
|
||||
@@ -34,7 +34,7 @@ namespace Content.IntegrationTests.Tests.Chemistry
|
||||
var prototypeManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var testMap = await pair.CreateTestMap();
|
||||
var coordinates = testMap.GridCoords;
|
||||
var solutionContainerSystem = entityManager.System<SolutionContainerSystem>();
|
||||
var solutionContainerSystem = entityManager.System<SharedSolutionContainerSystem>();
|
||||
|
||||
foreach (var reactionPrototype in prototypeManager.EnumeratePrototypes<ReactionPrototype>())
|
||||
{
|
||||
|
||||
@@ -28,7 +28,7 @@ namespace Content.IntegrationTests.Tests.Commands
|
||||
|
||||
Assert.That(netMan.IsConnected);
|
||||
|
||||
Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(1));
|
||||
Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(1));
|
||||
// No bans on record
|
||||
Assert.Multiple(async () =>
|
||||
{
|
||||
@@ -50,7 +50,7 @@ namespace Content.IntegrationTests.Tests.Commands
|
||||
|
||||
var banReason = "test";
|
||||
|
||||
Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(1));
|
||||
Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(1));
|
||||
// Ban the client for 24 hours
|
||||
await server.WaitPost(() => sConsole.ExecuteCommand($"ban {clientSession.Name} {banReason} 1440"));
|
||||
|
||||
@@ -63,7 +63,7 @@ namespace Content.IntegrationTests.Tests.Commands
|
||||
});
|
||||
|
||||
await pair.RunTicksSync(5);
|
||||
Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(0));
|
||||
Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(0));
|
||||
Assert.That(!netMan.IsConnected);
|
||||
|
||||
// Try to pardon a ban that does not exist
|
||||
@@ -143,11 +143,11 @@ namespace Content.IntegrationTests.Tests.Commands
|
||||
});
|
||||
|
||||
// Reconnect client. Slightly faster than dirtying the pair.
|
||||
Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(0));
|
||||
Assert.That(sPlayerManager.Sessions, Is.Empty);
|
||||
client.SetConnectTarget(server);
|
||||
await client.WaitPost(() => netMan.ClientConnect(null!, 0, null!));
|
||||
await pair.RunTicksSync(5);
|
||||
Assert.That(sPlayerManager.Sessions.Count(), Is.EqualTo(1));
|
||||
Assert.That(sPlayerManager.Sessions, Has.Length.EqualTo(1));
|
||||
|
||||
await pair.CleanReturnAsync();
|
||||
}
|
||||
|
||||
@@ -37,9 +37,9 @@ namespace Content.IntegrationTests.Tests.Commands
|
||||
var server = pair.Server;
|
||||
var entManager = server.ResolveDependency<IEntityManager>();
|
||||
var prototypeManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var mobStateSystem = entManager.EntitySysManager.GetEntitySystem<MobStateSystem>();
|
||||
var damSystem = entManager.EntitySysManager.GetEntitySystem<DamageableSystem>();
|
||||
var rejuvenateSystem = entManager.EntitySysManager.GetEntitySystem<RejuvenateSystem>();
|
||||
var mobStateSystem = entManager.System<MobStateSystem>();
|
||||
var damSystem = entManager.System<DamageableSystem>();
|
||||
var rejuvenateSystem = entManager.System<RejuvenateSystem>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
|
||||
@@ -26,7 +26,7 @@ namespace Content.IntegrationTests.Tests.Commands
|
||||
|
||||
var configManager = server.ResolveDependency<IConfigurationManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var gameTicker = entityManager.EntitySysManager.GetEntitySystem<GameTicker>();
|
||||
var gameTicker = entityManager.System<GameTicker>();
|
||||
|
||||
await pair.RunTicksSync(5);
|
||||
|
||||
|
||||
@@ -43,11 +43,11 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
EntityUid dummy = default;
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var mapId = mapManager.CreateMap();
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var pos = new MapCoordinates(Vector2.Zero, mapId);
|
||||
var pos = new MapCoordinates(Vector2.Zero, map.MapId);
|
||||
var entStorage = serverEntManager.EntitySysManager.GetEntitySystem<EntityStorageSystem>();
|
||||
var container = serverEntManager.SpawnEntity("ContainerOcclusionA", pos);
|
||||
dummy = serverEntManager.SpawnEntity("ContainerOcclusionDummy", pos);
|
||||
@@ -85,11 +85,12 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
EntityUid dummy = default;
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var mapId = mapManager.CreateMap();
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var pos = new MapCoordinates(Vector2.Zero, mapId);
|
||||
var pos = new MapCoordinates(Vector2.Zero, map.MapId);
|
||||
var entStorage = serverEntManager.EntitySysManager.GetEntitySystem<EntityStorageSystem>();
|
||||
var container = serverEntManager.SpawnEntity("ContainerOcclusionB", pos);
|
||||
dummy = serverEntManager.SpawnEntity("ContainerOcclusionDummy", pos);
|
||||
@@ -127,11 +128,12 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
EntityUid dummy = default;
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var mapId = mapManager.CreateMap();
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var pos = new MapCoordinates(Vector2.Zero, mapId);
|
||||
var pos = new MapCoordinates(Vector2.Zero, map.MapId);
|
||||
var entStorage = serverEntManager.EntitySysManager.GetEntitySystem<EntityStorageSystem>();
|
||||
var containerA = serverEntManager.SpawnEntity("ContainerOcclusionA", pos);
|
||||
var containerB = serverEntManager.SpawnEntity("ContainerOcclusionB", pos);
|
||||
|
||||
@@ -14,39 +14,39 @@ public sealed class DamageSpecifierTest
|
||||
// Test basic math operations.
|
||||
// I've already nearly broken these once. When editing the operators.
|
||||
|
||||
DamageSpecifier input1 = new() { DamageDict = _input1 };
|
||||
DamageSpecifier input2 = new() { DamageDict = _input2 };
|
||||
DamageSpecifier output1 = new() { DamageDict = _output1 };
|
||||
DamageSpecifier output2 = new() { DamageDict = _output2 };
|
||||
DamageSpecifier output3 = new() { DamageDict = _output3 };
|
||||
DamageSpecifier output4 = new() { DamageDict = _output4 };
|
||||
DamageSpecifier output5 = new() { DamageDict = _output5 };
|
||||
DamageSpecifier input1 = new() { DamageDict = Input1 };
|
||||
DamageSpecifier input2 = new() { DamageDict = Input2 };
|
||||
DamageSpecifier output1 = new() { DamageDict = Output1 };
|
||||
DamageSpecifier output2 = new() { DamageDict = Output2 };
|
||||
DamageSpecifier output3 = new() { DamageDict = Output3 };
|
||||
DamageSpecifier output4 = new() { DamageDict = Output4 };
|
||||
DamageSpecifier output5 = new() { DamageDict = Output5 };
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That((-input1).Equals(output1));
|
||||
Assert.That((input1 / 2).Equals(output2));
|
||||
Assert.That((input1 * 2).Equals(output3));
|
||||
Assert.That(-input1, Is.EqualTo(output1));
|
||||
Assert.That(input1 / 2, Is.EqualTo(output2));
|
||||
Assert.That(input1 * 2, Is.EqualTo(output3));
|
||||
});
|
||||
|
||||
var difference = (input1 - input2);
|
||||
Assert.That(difference.Equals(output4));
|
||||
var difference = input1 - input2;
|
||||
Assert.That(difference, Is.EqualTo(output4));
|
||||
|
||||
var difference2 = (-input2) + input1;
|
||||
Assert.That(difference.Equals(difference2));
|
||||
var difference2 = -input2 + input1;
|
||||
Assert.That(difference, Is.EqualTo(difference2));
|
||||
|
||||
difference.Clamp(-0.25f, 0.25f);
|
||||
Assert.That(difference.Equals(output5));
|
||||
Assert.That(difference, Is.EqualTo(output5));
|
||||
}
|
||||
|
||||
static Dictionary<string, FixedPoint2> _input1 = new()
|
||||
private static readonly Dictionary<string, FixedPoint2> Input1 = new()
|
||||
{
|
||||
{ "A", 1.5f },
|
||||
{ "B", 2 },
|
||||
{ "C", 3 }
|
||||
};
|
||||
|
||||
static Dictionary<string, FixedPoint2> _input2 = new()
|
||||
private static readonly Dictionary<string, FixedPoint2> Input2 = new()
|
||||
{
|
||||
{ "A", 1 },
|
||||
{ "B", 2 },
|
||||
@@ -54,28 +54,28 @@ public sealed class DamageSpecifierTest
|
||||
{ "D", 0.05f }
|
||||
};
|
||||
|
||||
static Dictionary<string, FixedPoint2> _output1 = new()
|
||||
private static readonly Dictionary<string, FixedPoint2> Output1 = new()
|
||||
{
|
||||
{ "A", -1.5f },
|
||||
{ "B", -2 },
|
||||
{ "C", -3 }
|
||||
};
|
||||
|
||||
static Dictionary<string, FixedPoint2> _output2 = new()
|
||||
private static readonly Dictionary<string, FixedPoint2> Output2 = new()
|
||||
{
|
||||
{ "A", 0.75f },
|
||||
{ "B", 1 },
|
||||
{ "C", 1.5 }
|
||||
};
|
||||
|
||||
static Dictionary<string, FixedPoint2> _output3 = new()
|
||||
private static readonly Dictionary<string, FixedPoint2> Output3 = new()
|
||||
{
|
||||
{ "A", 3f },
|
||||
{ "B", 4 },
|
||||
{ "C", 6 }
|
||||
};
|
||||
|
||||
static Dictionary<string, FixedPoint2> _output4 = new()
|
||||
private static readonly Dictionary<string, FixedPoint2> Output4 = new()
|
||||
{
|
||||
{ "A", 0.5f },
|
||||
{ "B", 0 },
|
||||
@@ -83,7 +83,7 @@ public sealed class DamageSpecifierTest
|
||||
{ "D", -0.05f }
|
||||
};
|
||||
|
||||
static Dictionary<string, FixedPoint2> _output5 = new()
|
||||
private static readonly Dictionary<string, FixedPoint2> Output5 = new()
|
||||
{
|
||||
{ "A", 0.25f },
|
||||
{ "B", 0 },
|
||||
|
||||
@@ -107,10 +107,11 @@ namespace Content.IntegrationTests.Tests.Damageable
|
||||
|
||||
FixedPoint2 typeDamage;
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var map = sMapManager.CreateMap();
|
||||
var coordinates = new MapCoordinates(0, 0, map);
|
||||
var coordinates = map.MapCoords;
|
||||
|
||||
sDamageableEntity = sEntityManager.SpawnEntity("TestDamageableEntityId", coordinates);
|
||||
sDamageableComponent = sEntityManager.GetComponent<DamageableComponent>(sDamageableEntity);
|
||||
|
||||
@@ -123,24 +123,24 @@ namespace Content.IntegrationTests.Tests.Doors
|
||||
var xformSystem = entityManager.System<SharedTransformSystem>();
|
||||
|
||||
PhysicsComponent physBody = null;
|
||||
EntityUid AirlockPhysicsDummy = default;
|
||||
EntityUid airlockPhysicsDummy = default;
|
||||
EntityUid airlock = default;
|
||||
DoorComponent doorComponent = null;
|
||||
|
||||
var AirlockPhysicsDummyStartingX = -1;
|
||||
var airlockPhysicsDummyStartingX = -1;
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
var humanCoordinates = new MapCoordinates(new Vector2(airlockPhysicsDummyStartingX, 0), map.MapId);
|
||||
airlockPhysicsDummy = entityManager.SpawnEntity("AirlockPhysicsDummy", humanCoordinates);
|
||||
|
||||
var humanCoordinates = new MapCoordinates(new Vector2(AirlockPhysicsDummyStartingX, 0), mapId);
|
||||
AirlockPhysicsDummy = entityManager.SpawnEntity("AirlockPhysicsDummy", humanCoordinates);
|
||||
|
||||
airlock = entityManager.SpawnEntity("AirlockDummy", new MapCoordinates(new Vector2(0, 0), mapId));
|
||||
airlock = entityManager.SpawnEntity("AirlockDummy", new MapCoordinates(new Vector2(0, 0), map.MapId));
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(entityManager.TryGetComponent(AirlockPhysicsDummy, out physBody), Is.True);
|
||||
Assert.That(entityManager.TryGetComponent(airlockPhysicsDummy, out physBody), Is.True);
|
||||
Assert.That(entityManager.TryGetComponent(airlock, out doorComponent), Is.True);
|
||||
});
|
||||
Assert.That(doorComponent.State, Is.EqualTo(DoorState.Closed));
|
||||
@@ -152,7 +152,7 @@ namespace Content.IntegrationTests.Tests.Doors
|
||||
await server.WaitAssertion(() => Assert.That(physBody, Is.Not.EqualTo(null)));
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
physicsSystem.SetLinearVelocity(AirlockPhysicsDummy, new Vector2(0.5f, 0f), body: physBody);
|
||||
physicsSystem.SetLinearVelocity(airlockPhysicsDummy, new Vector2(0.5f, 0f), body: physBody);
|
||||
});
|
||||
|
||||
for (var i = 0; i < 240; i += 10)
|
||||
@@ -176,7 +176,7 @@ namespace Content.IntegrationTests.Tests.Doors
|
||||
// Blocked by the airlock
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
Assert.That(Math.Abs(xformSystem.GetWorldPosition(AirlockPhysicsDummy).X - 1), Is.GreaterThan(0.01f));
|
||||
Assert.That(Math.Abs(xformSystem.GetWorldPosition(airlockPhysicsDummy).X - 1), Is.GreaterThan(0.01f));
|
||||
});
|
||||
await pair.CleanReturnAsync();
|
||||
}
|
||||
|
||||
@@ -21,7 +21,7 @@ namespace Content.IntegrationTests.Tests
|
||||
{
|
||||
foreach (var proto in prototypeManager.EnumeratePrototypes<EntityPrototype>())
|
||||
{
|
||||
if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto) || !proto.Components.ContainsKey("Sprite"))
|
||||
if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto) || !proto.Components.ContainsKey("Sprite"))
|
||||
continue;
|
||||
|
||||
Assert.DoesNotThrow(() =>
|
||||
|
||||
@@ -1,15 +1,11 @@
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Content.Server.Humanoid.Components;
|
||||
using Content.Shared.Coordinates;
|
||||
using Content.Shared.Prototypes;
|
||||
using Robust.Shared;
|
||||
using Robust.Shared.Configuration;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Log;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Map.Components;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
@@ -47,7 +43,7 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
foreach (var protoId in protoIds)
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
// TODO: Fix this better in engine.
|
||||
mapSystem.SetTile(grid.Owner, grid.Comp, Vector2i.Zero, new Tile(1));
|
||||
@@ -155,6 +151,7 @@ namespace Content.IntegrationTests.Tests
|
||||
var prototypeMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var sEntMan = server.ResolveDependency<IEntityManager>();
|
||||
var mapSys = server.System<SharedMapSystem>();
|
||||
|
||||
Assert.That(cfg.GetCVar(CVars.NetPVS), Is.False);
|
||||
|
||||
@@ -170,7 +167,7 @@ namespace Content.IntegrationTests.Tests
|
||||
{
|
||||
foreach (var protoId in protoIds)
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
var ent = sEntMan.SpawnEntity(protoId, new EntityCoordinates(grid.Owner, 0.5f, 0.5f));
|
||||
foreach (var (_, component) in sEntMan.GetNetComponents(ent))
|
||||
@@ -227,6 +224,7 @@ namespace Content.IntegrationTests.Tests
|
||||
var settings = new PoolSettings { Connected = true, Dirty = true };
|
||||
await using var pair = await PoolManager.GetServerClient(settings);
|
||||
var mapManager = pair.Server.ResolveDependency<IMapManager>();
|
||||
var mapSys = pair.Server.System<SharedMapSystem>();
|
||||
var server = pair.Server;
|
||||
var client = pair.Client;
|
||||
|
||||
@@ -256,7 +254,7 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
mapSys.CreateMap(out mapId);
|
||||
});
|
||||
|
||||
var coords = new MapCoordinates(Vector2.Zero, mapId);
|
||||
|
||||
@@ -16,14 +16,15 @@ namespace Content.IntegrationTests.Tests.Fluids;
|
||||
[TestOf(typeof(SpreaderSystem))]
|
||||
public sealed class FluidSpill
|
||||
{
|
||||
private static PuddleComponent? GetPuddle(IEntityManager entityManager, MapGridComponent mapGrid, Vector2i pos)
|
||||
private static PuddleComponent? GetPuddle(IEntityManager entityManager, Entity<MapGridComponent> mapGrid, Vector2i pos)
|
||||
{
|
||||
return GetPuddleEntity(entityManager, mapGrid, pos)?.Comp;
|
||||
}
|
||||
|
||||
private static Entity<PuddleComponent>? GetPuddleEntity(IEntityManager entityManager, MapGridComponent mapGrid, Vector2i pos)
|
||||
private static Entity<PuddleComponent>? GetPuddleEntity(IEntityManager entityManager, Entity<MapGridComponent> mapGrid, Vector2i pos)
|
||||
{
|
||||
foreach (var uid in mapGrid.GetAnchoredEntities(pos))
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
foreach (var uid in mapSys.GetAnchoredEntities(mapGrid, mapGrid.Comp, pos))
|
||||
{
|
||||
if (entityManager.TryGetComponent(uid, out PuddleComponent? puddleComponent))
|
||||
return (uid, puddleComponent);
|
||||
@@ -39,9 +40,9 @@ public sealed class FluidSpill
|
||||
var server = pair.Server;
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var puddleSystem = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<PuddleSystem>();
|
||||
var puddleSystem = server.System<PuddleSystem>();
|
||||
var mapSystem = server.System<SharedMapSystem>();
|
||||
var gameTiming = server.ResolveDependency<IGameTiming>();
|
||||
MapId mapId;
|
||||
EntityUid gridId = default;
|
||||
|
||||
/*
|
||||
@@ -52,7 +53,7 @@ public sealed class FluidSpill
|
||||
*/
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
gridId = grid.Owner;
|
||||
|
||||
@@ -60,12 +61,12 @@ public sealed class FluidSpill
|
||||
{
|
||||
for (var y = 0; y < 3; y++)
|
||||
{
|
||||
grid.Comp.SetTile(new Vector2i(x, y), new Tile(1));
|
||||
mapSystem.SetTile(grid, new Vector2i(x, y), new Tile(1));
|
||||
}
|
||||
}
|
||||
|
||||
entityManager.SpawnEntity("WallReinforced", grid.Comp.GridTileToLocal(new Vector2i(0, 1)));
|
||||
entityManager.SpawnEntity("WallReinforced", grid.Comp.GridTileToLocal(new Vector2i(1, 0)));
|
||||
entityManager.SpawnEntity("WallReinforced", mapSystem.GridTileToLocal(grid, grid.Comp, new Vector2i(0, 1)));
|
||||
entityManager.SpawnEntity("WallReinforced", mapSystem.GridTileToLocal(grid, grid.Comp, new Vector2i(1, 0)));
|
||||
});
|
||||
|
||||
|
||||
@@ -74,10 +75,10 @@ public sealed class FluidSpill
|
||||
{
|
||||
var grid = entityManager.GetComponent<MapGridComponent>(gridId);
|
||||
var solution = new Solution("Blood", FixedPoint2.New(100));
|
||||
var tileRef = grid.GetTileRef(puddleOrigin);
|
||||
var tileRef = mapSystem.GetTileRef(gridId, grid, puddleOrigin);
|
||||
#pragma warning disable NUnit2045 // Interdependent tests
|
||||
Assert.That(puddleSystem.TrySpillAt(tileRef, solution, out _), Is.True);
|
||||
Assert.That(GetPuddle(entityManager, grid, puddleOrigin), Is.Not.Null);
|
||||
Assert.That(GetPuddle(entityManager, (gridId, grid), puddleOrigin), Is.Not.Null);
|
||||
#pragma warning restore NUnit2045
|
||||
});
|
||||
|
||||
@@ -87,7 +88,7 @@ public sealed class FluidSpill
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var grid = entityManager.GetComponent<MapGridComponent>(gridId);
|
||||
var puddle = GetPuddleEntity(entityManager, grid, puddleOrigin);
|
||||
var puddle = GetPuddleEntity(entityManager, (gridId, grid), puddleOrigin);
|
||||
|
||||
#pragma warning disable NUnit2045 // Interdependent tests
|
||||
Assert.That(puddle, Is.Not.Null);
|
||||
@@ -104,7 +105,7 @@ public sealed class FluidSpill
|
||||
}
|
||||
|
||||
var newPos = new Vector2i(x, y);
|
||||
var sidePuddle = GetPuddle(entityManager, grid, newPos);
|
||||
var sidePuddle = GetPuddle(entityManager, (gridId, grid), newPos);
|
||||
Assert.That(sidePuddle, Is.Null);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ using Content.Shared.FixedPoint;
|
||||
using Content.Shared.Fluids.Components;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Map.Components;
|
||||
|
||||
namespace Content.IntegrationTests.Tests.Fluids
|
||||
{
|
||||
@@ -21,8 +20,7 @@ namespace Content.IntegrationTests.Tests.Fluids
|
||||
|
||||
var testMap = await pair.CreateTestMap();
|
||||
|
||||
var entitySystemManager = server.ResolveDependency<IEntitySystemManager>();
|
||||
var spillSystem = entitySystemManager.GetEntitySystem<PuddleSystem>();
|
||||
var spillSystem = server.System<PuddleSystem>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
@@ -46,17 +44,19 @@ namespace Content.IntegrationTests.Tests.Fluids
|
||||
var server = pair.Server;
|
||||
|
||||
var testMap = await pair.CreateTestMap();
|
||||
var grid = testMap.Grid.Comp;
|
||||
var grid = testMap.Grid;
|
||||
|
||||
var entitySystemManager = server.ResolveDependency<IEntitySystemManager>();
|
||||
var spillSystem = entitySystemManager.GetEntitySystem<PuddleSystem>();
|
||||
var spillSystem = server.System<PuddleSystem>();
|
||||
var mapSystem = server.System<SharedMapSystem>();
|
||||
|
||||
// Remove all tiles
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
foreach (var tile in grid.GetAllTiles())
|
||||
var tiles = mapSystem.GetAllTiles(grid.Owner, grid.Comp);
|
||||
foreach (var tile in tiles)
|
||||
{
|
||||
grid.SetTile(tile.GridIndices, Tile.Empty);
|
||||
mapSystem.SetTile(grid, tile.GridIndices, Tile.Empty);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -22,6 +22,7 @@ public sealed class FollowerSystemTest
|
||||
var mapMan = server.ResolveDependency<IMapManager>();
|
||||
var sysMan = server.ResolveDependency<IEntitySystemManager>();
|
||||
var logMan = server.ResolveDependency<ILogManager>();
|
||||
var mapSys = server.System<SharedMapSystem>();
|
||||
var logger = logMan.RootSawmill;
|
||||
|
||||
await server.WaitPost(() =>
|
||||
@@ -29,7 +30,7 @@ public sealed class FollowerSystemTest
|
||||
var followerSystem = sysMan.GetEntitySystem<FollowerSystem>();
|
||||
|
||||
// Create a map to spawn the observers on.
|
||||
var map = mapMan.CreateMap();
|
||||
mapSys.CreateMap(out var map);
|
||||
|
||||
// Spawn an observer to be followed.
|
||||
var followed = entMan.SpawnEntity(GameTicker.ObserverPrototypeName, new MapCoordinates(0, 0, map));
|
||||
@@ -41,7 +42,7 @@ public sealed class FollowerSystemTest
|
||||
|
||||
followerSystem.StartFollowingEntity(follower, followed);
|
||||
|
||||
entMan.DeleteEntity(mapMan.GetMapEntityId(map));
|
||||
entMan.DeleteEntity(mapSys.GetMap(map));
|
||||
});
|
||||
await pair.CleanReturnAsync();
|
||||
}
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#nullable enable
|
||||
using System.Numerics;
|
||||
using Content.Server.Cuffs;
|
||||
using Content.Shared.Body.Components;
|
||||
using Content.Shared.Cuffs.Components;
|
||||
@@ -7,7 +6,6 @@ using Content.Shared.Hands.Components;
|
||||
using Robust.Server.Console;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Maths;
|
||||
|
||||
namespace Content.IntegrationTests.Tests.GameObjects.Components.ActionBlocking
|
||||
{
|
||||
@@ -52,10 +50,11 @@ namespace Content.IntegrationTests.Tests.GameObjects.Components.ActionBlocking
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var host = server.ResolveDependency<IServerConsoleHost>();
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
var coordinates = new MapCoordinates(Vector2.Zero, mapId);
|
||||
var coordinates = map.MapCoords;
|
||||
|
||||
var cuffableSys = entityManager.System<CuffableSystem>();
|
||||
var xformSys = entityManager.System<SharedTransformSystem>();
|
||||
|
||||
@@ -34,29 +34,25 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
var testMap = await pair.CreateTestMap();
|
||||
|
||||
EntityUid generator = default;
|
||||
var entityMan = server.ResolveDependency<IEntityManager>();
|
||||
var mapMan = server.ResolveDependency<IMapManager>();
|
||||
var entityMan = server.EntMan;
|
||||
var mapMan = server.MapMan;
|
||||
var mapSys = entityMan.System<SharedMapSystem>();
|
||||
|
||||
MapGridComponent grid1 = null;
|
||||
MapGridComponent grid2 = null;
|
||||
EntityUid grid1Entity = default!;
|
||||
EntityUid grid2Entity = default!;
|
||||
EntityUid generator = default;
|
||||
Entity<MapGridComponent> grid1 = default;
|
||||
Entity<MapGridComponent> grid2 = default;
|
||||
|
||||
// Create grids
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var mapId = testMap.MapId;
|
||||
grid1 = mapMan.CreateGrid(mapId);
|
||||
grid2 = mapMan.CreateGrid(mapId);
|
||||
grid1Entity = grid1.Owner;
|
||||
grid2Entity = grid2.Owner;
|
||||
grid1 = mapMan.CreateGridEntity(mapId);
|
||||
grid2 = mapMan.CreateGridEntity(mapId);
|
||||
|
||||
mapSys.SetTile(grid1Entity, grid1, Vector2i.Zero, new Tile(1));
|
||||
mapSys.SetTile(grid2Entity, grid2, Vector2i.Zero, new Tile(1));
|
||||
mapSys.SetTile(grid1, grid1, Vector2i.Zero, new Tile(1));
|
||||
mapSys.SetTile(grid2, grid2, Vector2i.Zero, new Tile(1));
|
||||
|
||||
generator = entityMan.SpawnEntity("GridGravityGeneratorDummy", new EntityCoordinates(grid1Entity, 0.5f, 0.5f));
|
||||
generator = entityMan.SpawnEntity("GridGravityGeneratorDummy", new EntityCoordinates(grid1, 0.5f, 0.5f));
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(entityMan.HasComponent<GravityGeneratorComponent>(generator));
|
||||
@@ -77,8 +73,8 @@ namespace Content.IntegrationTests.Tests
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(generatorComponent.GravityActive, Is.True);
|
||||
Assert.That(!entityMan.GetComponent<GravityComponent>(grid1Entity).EnabledVV);
|
||||
Assert.That(entityMan.GetComponent<GravityComponent>(grid2Entity).EnabledVV);
|
||||
Assert.That(!entityMan.GetComponent<GravityComponent>(grid1).EnabledVV);
|
||||
Assert.That(entityMan.GetComponent<GravityComponent>(grid2).EnabledVV);
|
||||
});
|
||||
|
||||
// Re-enable needs power so it turns off again.
|
||||
@@ -95,7 +91,7 @@ namespace Content.IntegrationTests.Tests
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(generatorComponent.GravityActive, Is.False);
|
||||
Assert.That(entityMan.GetComponent<GravityComponent>(grid2Entity).EnabledVV, Is.False);
|
||||
Assert.That(entityMan.GetComponent<GravityComponent>(grid2).EnabledVV, Is.False);
|
||||
});
|
||||
});
|
||||
|
||||
|
||||
@@ -48,13 +48,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
|
||||
var sysMan = server.ResolveDependency<IEntitySystemManager>();
|
||||
var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
|
||||
|
||||
var mapId = MapId.Nullspace;
|
||||
var coords = MapCoordinates.Nullspace;
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
coords = new MapCoordinates(Vector2.Zero, mapId);
|
||||
});
|
||||
var map = await pair.CreateTestMap();
|
||||
var mapId = map.MapId;
|
||||
var coords = map.MapCoords;
|
||||
|
||||
await server.WaitIdleAsync();
|
||||
EntityUid user = default;
|
||||
@@ -119,13 +115,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
|
||||
var sysMan = server.ResolveDependency<IEntitySystemManager>();
|
||||
var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
|
||||
|
||||
var mapId = MapId.Nullspace;
|
||||
var coords = MapCoordinates.Nullspace;
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
coords = new MapCoordinates(Vector2.Zero, mapId);
|
||||
});
|
||||
var map = await pair.CreateTestMap();
|
||||
var mapId = map.MapId;
|
||||
var coords = map.MapCoords;
|
||||
|
||||
await server.WaitIdleAsync();
|
||||
EntityUid user = default;
|
||||
@@ -190,13 +182,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
|
||||
var sysMan = server.ResolveDependency<IEntitySystemManager>();
|
||||
var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
|
||||
|
||||
var mapId = MapId.Nullspace;
|
||||
var coords = MapCoordinates.Nullspace;
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
coords = new MapCoordinates(Vector2.Zero, mapId);
|
||||
});
|
||||
var map = await pair.CreateTestMap();
|
||||
var mapId = map.MapId;
|
||||
var coords = map.MapCoords;
|
||||
|
||||
await server.WaitIdleAsync();
|
||||
EntityUid user = default;
|
||||
@@ -261,13 +249,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
|
||||
var sysMan = server.ResolveDependency<IEntitySystemManager>();
|
||||
var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
|
||||
|
||||
var mapId = MapId.Nullspace;
|
||||
var coords = MapCoordinates.Nullspace;
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
coords = new MapCoordinates(Vector2.Zero, mapId);
|
||||
});
|
||||
var map = await pair.CreateTestMap();
|
||||
var mapId = map.MapId;
|
||||
var coords = map.MapCoords;
|
||||
|
||||
await server.WaitIdleAsync();
|
||||
EntityUid user = default;
|
||||
@@ -331,13 +315,9 @@ namespace Content.IntegrationTests.Tests.Interaction.Click
|
||||
var handSys = sysMan.GetEntitySystem<SharedHandsSystem>();
|
||||
var conSystem = sysMan.GetEntitySystem<SharedContainerSystem>();
|
||||
|
||||
var mapId = MapId.Nullspace;
|
||||
var coords = MapCoordinates.Nullspace;
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
coords = new MapCoordinates(Vector2.Zero, mapId);
|
||||
});
|
||||
var map = await pair.CreateTestMap();
|
||||
var mapId = map.MapId;
|
||||
var coords = map.MapCoords;
|
||||
|
||||
await server.WaitIdleAsync();
|
||||
EntityUid user = default;
|
||||
|
||||
@@ -39,10 +39,11 @@ namespace Content.IntegrationTests.Tests.Interaction
|
||||
EntityUid other = default;
|
||||
MapCoordinates mapCoordinates = default;
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
var coordinates = new MapCoordinates(Vector2.Zero, mapId);
|
||||
var coordinates = map.MapCoords;
|
||||
|
||||
origin = sEntities.SpawnEntity(HumanId, coordinates);
|
||||
other = sEntities.SpawnEntity(HumanId, coordinates);
|
||||
|
||||
@@ -571,11 +571,11 @@ public abstract partial class InteractionTest
|
||||
|
||||
var tile = Tile.Empty;
|
||||
var serverCoords = SEntMan.GetCoordinates(coords ?? TargetCoords);
|
||||
var pos = serverCoords.ToMap(SEntMan, Transform);
|
||||
var pos = Transform.ToMapCoordinates(serverCoords);
|
||||
await Server.WaitPost(() =>
|
||||
{
|
||||
if (MapMan.TryFindGridAt(pos, out _, out var grid))
|
||||
tile = grid.GetTileRef(serverCoords).Tile;
|
||||
if (MapMan.TryFindGridAt(pos, out var gridUid, out var grid))
|
||||
tile = MapSystem.GetTileRef(gridUid, grid, serverCoords).Tile;
|
||||
});
|
||||
|
||||
Assert.That(tile.TypeId, Is.EqualTo(targetTile.TypeId));
|
||||
@@ -757,33 +757,41 @@ public abstract partial class InteractionTest
|
||||
/// <summary>
|
||||
/// Set the tile at the target position to some prototype.
|
||||
/// </summary>
|
||||
protected async Task SetTile(string? proto, NetCoordinates? coords = null, MapGridComponent? grid = null)
|
||||
protected async Task SetTile(string? proto, NetCoordinates? coords = null, Entity<MapGridComponent>? grid = null)
|
||||
{
|
||||
var tile = proto == null
|
||||
? Tile.Empty
|
||||
: new Tile(TileMan[proto].TileId);
|
||||
|
||||
var pos = SEntMan.GetCoordinates(coords ?? TargetCoords).ToMap(SEntMan, Transform);
|
||||
var pos = Transform.ToMapCoordinates(SEntMan.GetCoordinates(coords ?? TargetCoords));
|
||||
|
||||
EntityUid gridUid;
|
||||
MapGridComponent? gridComp;
|
||||
await Server.WaitPost(() =>
|
||||
{
|
||||
if (grid != null || MapMan.TryFindGridAt(pos, out var gridUid, out grid))
|
||||
if (grid is { } gridEnt)
|
||||
{
|
||||
grid.SetTile(SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
|
||||
MapSystem.SetTile(gridEnt, SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
|
||||
return;
|
||||
}
|
||||
else if (MapMan.TryFindGridAt(pos, out var gUid, out var gComp))
|
||||
{
|
||||
MapSystem.SetTile(gUid, gComp, SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
|
||||
return;
|
||||
}
|
||||
|
||||
if (proto == null)
|
||||
return;
|
||||
|
||||
var gridEnt = MapMan.CreateGridEntity(MapData.MapId);
|
||||
gridEnt = MapMan.CreateGridEntity(MapData.MapId);
|
||||
grid = gridEnt;
|
||||
gridUid = gridEnt;
|
||||
gridComp = gridEnt.Comp;
|
||||
var gridXform = SEntMan.GetComponent<TransformComponent>(gridUid);
|
||||
Transform.SetWorldPosition(gridXform, pos.Position);
|
||||
grid.SetTile(SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
|
||||
MapSystem.SetTile((gridUid, gridComp), SEntMan.GetCoordinates(coords ?? TargetCoords), tile);
|
||||
|
||||
if (!MapMan.TryFindGridAt(pos, out _, out grid))
|
||||
if (!MapMan.TryFindGridAt(pos, out _, out _))
|
||||
Assert.Fail("Failed to create grid?");
|
||||
});
|
||||
await AssertTile(proto, coords);
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
#nullable enable
|
||||
using System.Diagnostics.CodeAnalysis;
|
||||
using System.Linq;
|
||||
using System.Numerics;
|
||||
using Content.Client.Construction;
|
||||
@@ -108,6 +107,7 @@ public abstract partial class InteractionTest
|
||||
protected SharedItemToggleSystem ItemToggleSys = default!;
|
||||
protected InteractionTestSystem STestSystem = default!;
|
||||
protected SharedTransformSystem Transform = default!;
|
||||
protected SharedMapSystem MapSystem = default!;
|
||||
protected ISawmill SLogger = default!;
|
||||
protected SharedUserInterfaceSystem SUiSys = default!;
|
||||
|
||||
@@ -168,6 +168,7 @@ public abstract partial class InteractionTest
|
||||
ItemToggleSys = SEntMan.System<SharedItemToggleSystem>();
|
||||
DoAfterSys = SEntMan.System<SharedDoAfterSystem>();
|
||||
Transform = SEntMan.System<SharedTransformSystem>();
|
||||
MapSystem = SEntMan.System<SharedMapSystem>();
|
||||
SConstruction = SEntMan.System<Server.Construction.ConstructionSystem>();
|
||||
STestSystem = SEntMan.System<InteractionTestSystem>();
|
||||
Stack = SEntMan.System<StackSystem>();
|
||||
@@ -188,9 +189,10 @@ public abstract partial class InteractionTest
|
||||
|
||||
// Setup map.
|
||||
await Pair.CreateTestMap();
|
||||
PlayerCoords = SEntMan.GetNetCoordinates(MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)).WithEntityId(MapData.MapUid, Transform, SEntMan));
|
||||
TargetCoords = SEntMan.GetNetCoordinates(MapData.GridCoords.Offset(new Vector2(1.5f, 0.5f)).WithEntityId(MapData.MapUid, Transform, SEntMan));
|
||||
await SetTile(Plating, grid: MapData.Grid.Comp);
|
||||
|
||||
PlayerCoords = SEntMan.GetNetCoordinates(Transform.WithEntityId(MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)), MapData.MapUid));
|
||||
TargetCoords = SEntMan.GetNetCoordinates(Transform.WithEntityId(MapData.GridCoords.Offset(new Vector2(1.5f, 0.5f)), MapData.MapUid));
|
||||
await SetTile(Plating, grid: MapData.Grid);
|
||||
|
||||
// Get player data
|
||||
var sPlayerMan = Server.ResolveDependency<Robust.Server.Player.IPlayerManager>();
|
||||
@@ -263,7 +265,8 @@ public abstract partial class InteractionTest
|
||||
await TearDown();
|
||||
}
|
||||
|
||||
protected virtual async Task TearDown()
|
||||
protected virtual Task TearDown()
|
||||
{
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -26,25 +26,25 @@ public sealed class StaticFieldValidationTest
|
||||
protos.Add(kind, ids);
|
||||
}
|
||||
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayValid), protos).Count, Is.Zero);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetValid), protos), Is.Empty);
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayValid), protos), Is.Empty);
|
||||
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringInvalid), protos).Count, Is.EqualTo(1));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayInvalid), protos).Count, Is.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdInvalid), protos).Count, Is.EqualTo(1));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayInvalid), protos).Count, Is.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestInvalid), protos).Count, Is.EqualTo(1));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayInvalid), protos).Count, Is.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListInvalid), protos).Count, Is.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetInvalid), protos).Count, Is.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayInvalid), protos).Count, Is.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringInvalid), protos), Has.Count.EqualTo(1));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(StringArrayInvalid), protos), Has.Count.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdInvalid), protos), Has.Count.EqualTo(1));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(EntProtoIdArrayInvalid), protos), Has.Count.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdTestInvalid), protos), Has.Count.EqualTo(1));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdArrayInvalid), protos), Has.Count.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdListInvalid), protos), Has.Count.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(ProtoIdSetInvalid), protos), Has.Count.EqualTo(2));
|
||||
Assert.That(protoMan.ValidateStaticFields(typeof(PrivateProtoIdArrayInvalid), protos), Has.Count.EqualTo(2));
|
||||
|
||||
await pair.CleanReturnAsync();
|
||||
}
|
||||
@@ -58,93 +58,111 @@ public sealed class StaticFieldValidationTest
|
||||
id: StaticFieldTestTag
|
||||
";
|
||||
|
||||
[Reflect(false)] private sealed class StringValid
|
||||
[Reflect(false)]
|
||||
private sealed class StringValid
|
||||
{
|
||||
[ValidatePrototypeId<TagPrototype>] public static string Tag = "StaticFieldTestTag";
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class StringInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class StringInvalid
|
||||
{
|
||||
[ValidatePrototypeId<TagPrototype>] public static string Tag = string.Empty;
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class StringArrayValid
|
||||
[Reflect(false)]
|
||||
private sealed class StringArrayValid
|
||||
{
|
||||
[ValidatePrototypeId<TagPrototype>] public static string[] Tag = {"StaticFieldTestTag", "StaticFieldTestTag"};
|
||||
[ValidatePrototypeId<TagPrototype>] public static string[] Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class StringArrayInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class StringArrayInvalid
|
||||
{
|
||||
[ValidatePrototypeId<TagPrototype>] public static string[] Tag = {string.Empty, "StaticFieldTestTag", string.Empty};
|
||||
[ValidatePrototypeId<TagPrototype>] public static string[] Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class EntProtoIdValid
|
||||
[Reflect(false)]
|
||||
private sealed class EntProtoIdValid
|
||||
{
|
||||
public static EntProtoId Tag = "StaticFieldTestEnt";
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class EntProtoIdInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class EntProtoIdInvalid
|
||||
{
|
||||
public static EntProtoId Tag = string.Empty;
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class EntProtoIdArrayValid
|
||||
[Reflect(false)]
|
||||
private sealed class EntProtoIdArrayValid
|
||||
{
|
||||
public static EntProtoId[] Tag = {"StaticFieldTestEnt", "StaticFieldTestEnt"};
|
||||
public static EntProtoId[] Tag = ["StaticFieldTestEnt", "StaticFieldTestEnt"];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class EntProtoIdArrayInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class EntProtoIdArrayInvalid
|
||||
{
|
||||
public static EntProtoId[] Tag = {string.Empty, "StaticFieldTestEnt", string.Empty};
|
||||
public static EntProtoId[] Tag = [string.Empty, "StaticFieldTestEnt", string.Empty];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdTestValid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdTestValid
|
||||
{
|
||||
public static ProtoId<TagPrototype> Tag = "StaticFieldTestTag";
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdTestInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdTestInvalid
|
||||
{
|
||||
public static ProtoId<TagPrototype> Tag = string.Empty;
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdArrayValid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdArrayValid
|
||||
{
|
||||
public static ProtoId<TagPrototype>[] Tag = {"StaticFieldTestTag", "StaticFieldTestTag"};
|
||||
public static ProtoId<TagPrototype>[] Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdArrayInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdArrayInvalid
|
||||
{
|
||||
public static ProtoId<TagPrototype>[] Tag = {string.Empty, "StaticFieldTestTag", string.Empty};
|
||||
public static ProtoId<TagPrototype>[] Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdListValid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdListValid
|
||||
{
|
||||
public static List<ProtoId<TagPrototype>> Tag = new() {"StaticFieldTestTag", "StaticFieldTestTag"};
|
||||
public static List<ProtoId<TagPrototype>> Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdListInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdListInvalid
|
||||
{
|
||||
public static List<ProtoId<TagPrototype>> Tag = new() {string.Empty, "StaticFieldTestTag", string.Empty};
|
||||
public static List<ProtoId<TagPrototype>> Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdSetValid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdSetValid
|
||||
{
|
||||
public static HashSet<ProtoId<TagPrototype>> Tag = new() {"StaticFieldTestTag", "StaticFieldTestTag"};
|
||||
public static HashSet<ProtoId<TagPrototype>> Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class ProtoIdSetInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class ProtoIdSetInvalid
|
||||
{
|
||||
public static HashSet<ProtoId<TagPrototype>> Tag = new() {string.Empty, "StaticFieldTestTag", string.Empty, " "};
|
||||
public static HashSet<ProtoId<TagPrototype>> Tag = [string.Empty, "StaticFieldTestTag", string.Empty, " "];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class PrivateProtoIdArrayValid
|
||||
[Reflect(false)]
|
||||
private sealed class PrivateProtoIdArrayValid
|
||||
{
|
||||
private static ProtoId<TagPrototype>[] Tag = {"StaticFieldTestTag", "StaticFieldTestTag"};
|
||||
private static readonly ProtoId<TagPrototype>[] Tag = ["StaticFieldTestTag", "StaticFieldTestTag"];
|
||||
}
|
||||
|
||||
[Reflect(false)] private sealed class PrivateProtoIdArrayInvalid
|
||||
[Reflect(false)]
|
||||
private sealed class PrivateProtoIdArrayInvalid
|
||||
{
|
||||
private static ProtoId<TagPrototype>[] Tag = {string.Empty, "StaticFieldTestTag", string.Empty};
|
||||
private static readonly ProtoId<TagPrototype>[] Tag = [string.Empty, "StaticFieldTestTag", string.Empty];
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@
|
||||
using System.Linq;
|
||||
using Content.Server.Construction.Components;
|
||||
using Content.Shared.Construction.Components;
|
||||
using Content.Shared.Prototypes;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
@@ -37,6 +36,7 @@ public sealed class MachineBoardTest
|
||||
var server = pair.Server;
|
||||
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var compFact = server.ResolveDependency<IComponentFactory>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
@@ -45,7 +45,7 @@ public sealed class MachineBoardTest
|
||||
.Where(p => !pair.IsTestPrototype(p))
|
||||
.Where(p => !_ignoredPrototypes.Contains(p.ID)))
|
||||
{
|
||||
if (!p.TryGetComponent<MachineBoardComponent>(out var mbc))
|
||||
if (!p.TryGetComponent<MachineBoardComponent>(out var mbc, compFact))
|
||||
continue;
|
||||
var mId = mbc.Prototype;
|
||||
|
||||
@@ -53,7 +53,7 @@ public sealed class MachineBoardTest
|
||||
{
|
||||
Assert.That(protoMan.TryIndex<EntityPrototype>(mId, out var mProto),
|
||||
$"Machine board {p.ID}'s corresponding machine has an invalid prototype.");
|
||||
Assert.That(mProto.TryGetComponent<MachineComponent>(out var mComp),
|
||||
Assert.That(mProto.TryGetComponent<MachineComponent>(out var mComp, compFact),
|
||||
$"Machine board {p.ID}'s corresponding machine {mId} does not have MachineComponent");
|
||||
Assert.That(mComp.Board, Is.EqualTo(p.ID),
|
||||
$"Machine {mId}'s BoardPrototype is not equal to it's corresponding machine board, {p.ID}");
|
||||
@@ -75,6 +75,7 @@ public sealed class MachineBoardTest
|
||||
var server = pair.Server;
|
||||
|
||||
var protoMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var compFact = server.ResolveDependency<IComponentFactory>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
@@ -83,7 +84,7 @@ public sealed class MachineBoardTest
|
||||
.Where(p => !pair.IsTestPrototype(p))
|
||||
.Where(p => !_ignoredPrototypes.Contains(p.ID)))
|
||||
{
|
||||
if (!p.TryGetComponent<ComputerBoardComponent>(out var cbc))
|
||||
if (!p.TryGetComponent<ComputerBoardComponent>(out var cbc, compFact))
|
||||
continue;
|
||||
var cId = cbc.Prototype;
|
||||
|
||||
@@ -92,7 +93,7 @@ public sealed class MachineBoardTest
|
||||
Assert.That(cId, Is.Not.Null, $"Computer board \"{p.ID}\" does not have a corresponding computer.");
|
||||
Assert.That(protoMan.TryIndex<EntityPrototype>(cId, out var cProto),
|
||||
$"Computer board \"{p.ID}\"'s corresponding computer has an invalid prototype.");
|
||||
Assert.That(cProto.TryGetComponent<ComputerComponent>(out var cComp),
|
||||
Assert.That(cProto.TryGetComponent<ComputerComponent>(out var cComp, compFact),
|
||||
$"Computer board {p.ID}'s corresponding computer \"{cId}\" does not have ComputerComponent");
|
||||
Assert.That(cComp.BoardPrototype, Is.EqualTo(p.ID),
|
||||
$"Computer \"{cId}\"'s BoardPrototype is not equal to it's corresponding computer board, \"{p.ID}\"");
|
||||
|
||||
@@ -38,15 +38,16 @@ public sealed class MaterialArbitrageTest
|
||||
await server.WaitIdleAsync();
|
||||
|
||||
var entManager = server.ResolveDependency<IEntityManager>();
|
||||
var sysManager = server.ResolveDependency<IEntitySystemManager>();
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
Assert.That(mapManager.IsMapInitialized(testMap.MapId));
|
||||
|
||||
var protoManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var pricing = sysManager.GetEntitySystem<PricingSystem>();
|
||||
var stackSys = sysManager.GetEntitySystem<StackSystem>();
|
||||
|
||||
var pricing = entManager.System<PricingSystem>();
|
||||
var stackSys = entManager.System<StackSystem>();
|
||||
var mapSystem = server.System<SharedMapSystem>();
|
||||
var compFact = server.ResolveDependency<IComponentFactory>();
|
||||
|
||||
Assert.That(mapSystem.IsInitialized(testMap.MapId));
|
||||
|
||||
var constructionName = compFact.GetComponentName(typeof(ConstructionComponent));
|
||||
var compositionName = compFact.GetComponentName(typeof(PhysicalCompositionComponent));
|
||||
var materialName = compFact.GetComponentName(typeof(MaterialComponent));
|
||||
@@ -67,7 +68,7 @@ public sealed class MaterialArbitrageTest
|
||||
Dictionary<string, ConstructionComponent> constructionRecipes = new();
|
||||
foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
|
||||
{
|
||||
if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto))
|
||||
if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto))
|
||||
continue;
|
||||
|
||||
if (!proto.Components.TryGetValue(constructionName, out var destructible))
|
||||
@@ -127,7 +128,7 @@ public sealed class MaterialArbitrageTest
|
||||
// Here we get the set of entities/materials spawned when destroying an entity.
|
||||
foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
|
||||
{
|
||||
if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto))
|
||||
if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto))
|
||||
continue;
|
||||
|
||||
if (!proto.Components.TryGetValue(destructibleName, out var destructible))
|
||||
@@ -298,7 +299,7 @@ public sealed class MaterialArbitrageTest
|
||||
Dictionary<string, PhysicalCompositionComponent> physicalCompositions = new();
|
||||
foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
|
||||
{
|
||||
if (proto.NoSpawn || proto.Abstract || pair.IsTestPrototype(proto))
|
||||
if (proto.HideSpawnMenu || proto.Abstract || pair.IsTestPrototype(proto))
|
||||
continue;
|
||||
|
||||
if (!proto.Components.TryGetValue(compositionName, out var composition))
|
||||
|
||||
@@ -14,7 +14,7 @@ namespace Content.IntegrationTests.Tests.Minds;
|
||||
[TestFixture]
|
||||
public sealed class GhostTests
|
||||
{
|
||||
struct GhostTestData
|
||||
private struct GhostTestData
|
||||
{
|
||||
public IEntityManager SEntMan;
|
||||
public Robust.Server.Player.IPlayerManager SPlayerMan;
|
||||
@@ -23,10 +23,10 @@ public sealed class GhostTests
|
||||
|
||||
public TestPair Pair = default!;
|
||||
|
||||
public TestMapData MapData => Pair.TestMap!;
|
||||
public readonly TestMapData MapData => Pair.TestMap!;
|
||||
|
||||
public RobustIntegrationTest.ServerIntegrationInstance Server => Pair.Server;
|
||||
public RobustIntegrationTest.ClientIntegrationInstance Client => Pair.Client;
|
||||
public readonly RobustIntegrationTest.ServerIntegrationInstance Server => Pair.Server;
|
||||
public readonly RobustIntegrationTest.ClientIntegrationInstance Client => Pair.Client;
|
||||
|
||||
/// <summary>
|
||||
/// Initial player coordinates. Note that this does not necessarily correspond to the position of the
|
||||
@@ -47,15 +47,16 @@ public sealed class GhostTests
|
||||
|
||||
private async Task<GhostTestData> SetupData()
|
||||
{
|
||||
var data = new GhostTestData();
|
||||
|
||||
var data = new GhostTestData
|
||||
{
|
||||
// Client is needed to create a session for the ghost system. Creating a dummy session was too difficult.
|
||||
data.Pair = await PoolManager.GetServerClient(new PoolSettings
|
||||
Pair = await PoolManager.GetServerClient(new PoolSettings
|
||||
{
|
||||
DummyTicker = false,
|
||||
Connected = true,
|
||||
Dirty = true
|
||||
});
|
||||
})
|
||||
};
|
||||
|
||||
data.SEntMan = data.Pair.Server.ResolveDependency<IServerEntityManager>();
|
||||
data.SPlayerMan = data.Pair.Server.ResolveDependency<Robust.Server.Player.IPlayerManager>();
|
||||
@@ -64,7 +65,8 @@ public sealed class GhostTests
|
||||
|
||||
// Setup map.
|
||||
await data.Pair.CreateTestMap();
|
||||
data.PlayerCoords = data.SEntMan.GetNetCoordinates(data.MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)).WithEntityId(data.MapData.MapUid, data.STransformSys, data.SEntMan));
|
||||
var test = data.MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f));
|
||||
data.PlayerCoords = data.SEntMan.GetNetCoordinates(data.STransformSys.WithEntityId(data.MapData.GridCoords.Offset(new Vector2(0.5f, 0.5f)), data.MapData.MapUid));
|
||||
|
||||
if (data.Client.Session == null)
|
||||
Assert.Fail("No player");
|
||||
|
||||
@@ -169,7 +169,7 @@ public sealed partial class MindTests
|
||||
{
|
||||
var netManager = pair.Client.ResolveDependency<IClientNetManager>();
|
||||
var playerMan = pair.Server.ResolveDependency<IPlayerManager>();
|
||||
Assert.That(!playerMan.Sessions.Any());
|
||||
Assert.That(playerMan.Sessions, Is.Empty);
|
||||
|
||||
await Task.WhenAll(pair.Client.WaitIdleAsync(), pair.Client.WaitIdleAsync());
|
||||
pair.Client.SetConnectTarget(pair.Server);
|
||||
|
||||
@@ -32,7 +32,7 @@ public abstract class MovementTest : InteractionTest
|
||||
|
||||
for (var i = -Tiles; i <= Tiles; i++)
|
||||
{
|
||||
await SetTile(Plating, SEntMan.GetNetCoordinates(pCoords.Offset(new Vector2(i, 0))), MapData.Grid.Comp);
|
||||
await SetTile(Plating, SEntMan.GetNetCoordinates(pCoords.Offset(new Vector2(i, 0))), MapData.Grid);
|
||||
}
|
||||
AssertGridCount(1);
|
||||
|
||||
|
||||
@@ -7,7 +7,7 @@ namespace Content.IntegrationTests.Tests.Networking;
|
||||
[TestFixture]
|
||||
public sealed class PvsCommandTest
|
||||
{
|
||||
public static EntProtoId TestEnt = "MobHuman";
|
||||
private static readonly EntProtoId TestEnt = "MobHuman";
|
||||
|
||||
[Test]
|
||||
public async Task TestPvsCommands()
|
||||
|
||||
@@ -51,11 +51,12 @@ namespace Content.IntegrationTests.Tests.Networking
|
||||
PredictionTestComponent clientComponent = default!;
|
||||
var serverSystem = sEntityManager.System<PredictionTestEntitySystem>();
|
||||
var clientSystem = cEntityManager.System<PredictionTestEntitySystem>();
|
||||
var sMapSys = sEntityManager.System<SharedMapSystem>();
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
// Spawn dummy component entity.
|
||||
var map = sMapManager.CreateMap();
|
||||
sMapSys.CreateMap(out var map);
|
||||
serverEnt = sEntityManager.SpawnEntity(null, new MapCoordinates(new Vector2(0, 0), map));
|
||||
serverComponent = sEntityManager.AddComponent<PredictionTestComponent>(serverEnt);
|
||||
});
|
||||
@@ -67,7 +68,7 @@ namespace Content.IntegrationTests.Tests.Networking
|
||||
Assert.That(sGameTiming.TickTimingAdjustment, Is.EqualTo(0));
|
||||
|
||||
// Check client buffer is full
|
||||
Assert.That(cGameStateManager.CurrentBufferSize, Is.EqualTo(cGameStateManager.TargetBufferSize));
|
||||
Assert.That(cGameStateManager.GetApplicableStateCount(), Is.EqualTo(cGameStateManager.TargetBufferSize));
|
||||
Assert.That(cGameStateManager.TargetBufferSize, Is.EqualTo(2));
|
||||
|
||||
// This isn't required anymore, but the test had this for the sake of "technical things", and I cbf shifting
|
||||
|
||||
@@ -78,13 +78,14 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
var entManager = server.ResolveDependency<IEntityManager>();
|
||||
var mapLoader = entManager.System<MapLoaderSystem>();
|
||||
var mapSystem = entManager.System<SharedMapSystem>();
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId);
|
||||
try
|
||||
{
|
||||
#pragma warning disable NUnit2045
|
||||
@@ -165,6 +166,7 @@ namespace Content.IntegrationTests.Tests
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entManager = server.ResolveDependency<IEntityManager>();
|
||||
var mapLoader = entManager.System<MapLoaderSystem>();
|
||||
var mapSystem = entManager.System<SharedMapSystem>();
|
||||
var protoManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var ticker = entManager.EntitySysManager.GetEntitySystem<GameTicker>();
|
||||
var shuttleSystem = entManager.EntitySysManager.GetEntitySystem<ShuttleSystem>();
|
||||
@@ -174,7 +176,7 @@ namespace Content.IntegrationTests.Tests
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId);
|
||||
try
|
||||
{
|
||||
ticker.LoadGameMap(protoManager.Index<GameMapPrototype>(mapProto), mapId, null);
|
||||
@@ -184,7 +186,7 @@ namespace Content.IntegrationTests.Tests
|
||||
throw new Exception($"Failed to load map {mapProto}", ex);
|
||||
}
|
||||
|
||||
var shuttleMap = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var shuttleMap);
|
||||
var largest = 0f;
|
||||
EntityUid? targetGrid = null;
|
||||
var memberQuery = entManager.GetEntityQuery<StationMemberComponent>();
|
||||
@@ -326,6 +328,7 @@ namespace Content.IntegrationTests.Tests
|
||||
var resourceManager = server.ResolveDependency<IResourceManager>();
|
||||
var protoManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
var mapSystem = server.System<SharedMapSystem>();
|
||||
Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
|
||||
|
||||
var gameMaps = protoManager.EnumeratePrototypes<GameMapPrototype>().Select(o => o.MapPath).ToHashSet();
|
||||
@@ -356,7 +359,7 @@ namespace Content.IntegrationTests.Tests
|
||||
{
|
||||
foreach (var mapName in mapNames)
|
||||
{
|
||||
var mapId = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId);
|
||||
try
|
||||
{
|
||||
Assert.That(mapLoader.TryLoad(mapId, mapName, out _));
|
||||
|
||||
@@ -166,6 +166,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var server = pair.Server;
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
const float loadPower = 200;
|
||||
PowerSupplierComponent supplier = default!;
|
||||
PowerConsumerComponent consumer1 = default!;
|
||||
@@ -173,21 +174,19 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 3; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 1));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 1));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
|
||||
consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
|
||||
@@ -229,6 +228,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var server = pair.Server;
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
const float loadPower = 200;
|
||||
PowerSupplierComponent supplier = default!;
|
||||
PowerConsumerComponent consumer1 = default!;
|
||||
@@ -236,21 +236,19 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 3; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 1));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 1));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
|
||||
consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
|
||||
@@ -288,25 +286,25 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var server = pair.Server;
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
var gameTiming = server.ResolveDependency<IGameTiming>();
|
||||
PowerSupplierComponent supplier = default!;
|
||||
PowerConsumerComponent consumer = default!;
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 3; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
|
||||
consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
|
||||
@@ -378,6 +376,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var gameTiming = server.ResolveDependency<IGameTiming>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
const float startingCharge = 100_000;
|
||||
|
||||
PowerNetworkBatteryComponent netBattery = default!;
|
||||
@@ -386,19 +385,18 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 3; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var generatorEnt = entityManager.SpawnEntity("DischargingBatteryDummy", gridOwner.ToCoordinates());
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var generatorEnt = entityManager.SpawnEntity("DischargingBatteryDummy", grid.Owner.ToCoordinates());
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
|
||||
netBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(generatorEnt);
|
||||
battery = entityManager.GetComponent<BatteryComponent>(generatorEnt);
|
||||
@@ -479,6 +477,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerSupplierComponent supplier = default!;
|
||||
PowerNetworkBatteryComponent netBattery = default!;
|
||||
BatteryComponent battery = default!;
|
||||
@@ -490,20 +489,19 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 3; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 1));
|
||||
var batteryEnt = entityManager.SpawnEntity("DischargingBatteryDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 1));
|
||||
var batteryEnt = entityManager.SpawnEntity("DischargingBatteryDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
netBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(batteryEnt);
|
||||
battery = entityManager.GetComponent<BatteryComponent>(batteryEnt);
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
|
||||
@@ -577,24 +575,24 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var gameTiming = server.ResolveDependency<IGameTiming>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerSupplierComponent supplier = default!;
|
||||
BatteryComponent battery = default!;
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 3; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates());
|
||||
var batteryEnt = entityManager.SpawnEntity("ChargingBatteryDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates());
|
||||
var batteryEnt = entityManager.SpawnEntity("ChargingBatteryDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
|
||||
var netBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(batteryEnt);
|
||||
@@ -634,6 +632,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var gameTiming = server.ResolveDependency<IGameTiming>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerConsumerComponent consumer = default!;
|
||||
PowerSupplierComponent supplier = default!;
|
||||
PowerNetworkBatteryComponent netBattery = default!;
|
||||
@@ -641,23 +640,22 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 4; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
|
||||
entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
|
||||
|
||||
var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 3));
|
||||
var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 3));
|
||||
|
||||
consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt);
|
||||
@@ -712,6 +710,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var gameTiming = server.ResolveDependency<IGameTiming>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerConsumerComponent consumer = default!;
|
||||
PowerSupplierComponent supplier = default!;
|
||||
PowerNetworkBatteryComponent netBattery = default!;
|
||||
@@ -719,23 +718,22 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 4; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
|
||||
entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
|
||||
|
||||
var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 3));
|
||||
var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 3));
|
||||
|
||||
consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt);
|
||||
@@ -789,15 +787,15 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerConsumerComponent consumer1 = default!;
|
||||
PowerConsumerComponent consumer2 = default!;
|
||||
PowerSupplierComponent supplier = default!;
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Map layout here is
|
||||
// C - consumer
|
||||
@@ -810,19 +808,19 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 5; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
|
||||
entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
|
||||
entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
|
||||
|
||||
var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 1));
|
||||
var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 3));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 4));
|
||||
var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 1));
|
||||
var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 3));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 4));
|
||||
|
||||
consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
|
||||
consumer2 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt2);
|
||||
@@ -887,6 +885,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var gameTiming = server.ResolveDependency<IGameTiming>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerConsumerComponent consumer = default!;
|
||||
PowerSupplierComponent supplier1 = default!;
|
||||
PowerSupplierComponent supplier2 = default!;
|
||||
@@ -897,9 +896,8 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Layout is two generators, two batteries, and one load. As to why two: because previously this test
|
||||
// would fail ONLY if there were more than two batteries present, because each of them tries to supply
|
||||
@@ -911,17 +909,17 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
// Place cables
|
||||
for (var i = -2; i <= 2; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, -2));
|
||||
var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, -2));
|
||||
|
||||
var supplyEnt1 = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 1));
|
||||
var supplyEnt2 = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, -1));
|
||||
var supplyEnt1 = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 1));
|
||||
var supplyEnt2 = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, -1));
|
||||
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
|
||||
consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
|
||||
supplier1 = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt1);
|
||||
@@ -985,15 +983,15 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerConsumerComponent consumer1 = default!;
|
||||
PowerConsumerComponent consumer2 = default!;
|
||||
PowerSupplierComponent supplier = default!;
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Map layout here is
|
||||
// C - consumer
|
||||
@@ -1006,19 +1004,19 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 5; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 2));
|
||||
entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 2));
|
||||
entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
|
||||
|
||||
var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 1));
|
||||
var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 3));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 4));
|
||||
var batteryEnt1 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 1));
|
||||
var batteryEnt2 = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 3));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
var consumerEnt1 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
var consumerEnt2 = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 4));
|
||||
|
||||
consumer1 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt1);
|
||||
consumer2 = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt2);
|
||||
@@ -1073,29 +1071,29 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerConsumerComponent consumer = default!;
|
||||
PowerSupplierComponent supplier = default!;
|
||||
PowerNetworkBatteryComponent netBattery = default!;
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 4; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, i));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, i));
|
||||
}
|
||||
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
|
||||
entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
|
||||
|
||||
var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", gridOwner.ToCoordinates(0, 3));
|
||||
var batteryEnt = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
var supplyEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
var consumerEnt = entityManager.SpawnEntity("ConsumerDummy", grid.Owner.ToCoordinates(0, 3));
|
||||
|
||||
consumer = entityManager.GetComponent<PowerConsumerComponent>(consumerEnt);
|
||||
supplier = entityManager.GetComponent<PowerSupplierComponent>(supplyEnt);
|
||||
@@ -1158,6 +1156,7 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var nodeContainer = entityManager.System<NodeContainerSystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
CableNode leftNode = default!;
|
||||
CableNode rightNode = default!;
|
||||
Node batteryInput = default!;
|
||||
@@ -1165,25 +1164,24 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 4; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
}
|
||||
|
||||
var leftEnt = entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 0));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 1));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 2));
|
||||
var rightEnt = entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 3));
|
||||
var leftEnt = entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 0));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 1));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 2));
|
||||
var rightEnt = entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 3));
|
||||
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", gridOwner.ToCoordinates(0, 1));
|
||||
var terminal = entityManager.SpawnEntity("CableTerminal", grid.Owner.ToCoordinates(0, 1));
|
||||
entityManager.GetComponent<TransformComponent>(terminal).LocalRotation = Angle.FromDegrees(180);
|
||||
|
||||
var battery = entityManager.SpawnEntity("FullBatteryDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var battery = entityManager.SpawnEntity("FullBatteryDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
var batteryNodeContainer = entityManager.GetComponent<NodeContainerComponent>(battery);
|
||||
|
||||
if (nodeContainer.TryGetNode<CableNode>(entityManager.GetComponent<NodeContainerComponent>(leftEnt),
|
||||
@@ -1224,29 +1222,29 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerNetworkBatteryComponent substationNetBattery = default!;
|
||||
BatteryComponent apcBattery = default!;
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < 3; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
}
|
||||
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 0));
|
||||
entityManager.SpawnEntity("CableHV", gridOwner.ToCoordinates(0, 1));
|
||||
entityManager.SpawnEntity("CableMV", gridOwner.ToCoordinates(0, 1));
|
||||
entityManager.SpawnEntity("CableMV", gridOwner.ToCoordinates(0, 2));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 0));
|
||||
entityManager.SpawnEntity("CableHV", grid.Owner.ToCoordinates(0, 1));
|
||||
entityManager.SpawnEntity("CableMV", grid.Owner.ToCoordinates(0, 1));
|
||||
entityManager.SpawnEntity("CableMV", grid.Owner.ToCoordinates(0, 2));
|
||||
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var substationEnt = entityManager.SpawnEntity("SubstationDummy", gridOwner.ToCoordinates(0, 1));
|
||||
var apcEnt = entityManager.SpawnEntity("ApcDummy", gridOwner.ToCoordinates(0, 2));
|
||||
var generatorEnt = entityManager.SpawnEntity("GeneratorDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
var substationEnt = entityManager.SpawnEntity("SubstationDummy", grid.Owner.ToCoordinates(0, 1));
|
||||
var apcEnt = entityManager.SpawnEntity("ApcDummy", grid.Owner.ToCoordinates(0, 2));
|
||||
|
||||
var generatorSupplier = entityManager.GetComponent<PowerSupplierComponent>(generatorEnt);
|
||||
substationNetBattery = entityManager.GetComponent<PowerNetworkBatteryComponent>(substationEnt);
|
||||
@@ -1281,33 +1279,33 @@ namespace Content.IntegrationTests.Tests.Power
|
||||
var entityManager = server.ResolveDependency<IEntityManager>();
|
||||
var batterySys = entityManager.System<BatterySystem>();
|
||||
var extensionCableSystem = entityManager.System<ExtensionCableSystem>();
|
||||
var mapSys = entityManager.System<SharedMapSystem>();
|
||||
PowerNetworkBatteryComponent apcNetBattery = default!;
|
||||
ApcPowerReceiverComponent receiver = default!;
|
||||
ApcPowerReceiverComponent unpoweredReceiver = default!;
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var map = mapManager.CreateMap();
|
||||
var grid = mapManager.CreateGrid(map);
|
||||
var gridOwner = grid.Owner;
|
||||
var map = mapSys.CreateMap(out var mapId);
|
||||
var grid = mapManager.CreateGridEntity(mapId);
|
||||
|
||||
const int range = 5;
|
||||
|
||||
// Power only works when anchored
|
||||
for (var i = 0; i < range; i++)
|
||||
{
|
||||
grid.SetTile(new Vector2i(0, i), new Tile(1));
|
||||
mapSys.SetTile(grid, new Vector2i(0, i), new Tile(1));
|
||||
}
|
||||
|
||||
var apcEnt = entityManager.SpawnEntity("ApcDummy", gridOwner.ToCoordinates(0, 0));
|
||||
var apcExtensionEnt = entityManager.SpawnEntity("CableApcExtension", gridOwner.ToCoordinates(0, 0));
|
||||
var apcEnt = entityManager.SpawnEntity("ApcDummy", grid.Owner.ToCoordinates(0, 0));
|
||||
var apcExtensionEnt = entityManager.SpawnEntity("CableApcExtension", grid.Owner.ToCoordinates(0, 0));
|
||||
|
||||
// Create a powered receiver in range (range is 0 indexed)
|
||||
var powerReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", gridOwner.ToCoordinates(0, range - 1));
|
||||
var powerReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", grid.Owner.ToCoordinates(0, range - 1));
|
||||
receiver = entityManager.GetComponent<ApcPowerReceiverComponent>(powerReceiverEnt);
|
||||
|
||||
// Create an unpowered receiver outside range
|
||||
var unpoweredReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", gridOwner.ToCoordinates(0, range));
|
||||
var unpoweredReceiverEnt = entityManager.SpawnEntity("ApcPowerReceiverDummy", grid.Owner.ToCoordinates(0, range));
|
||||
unpoweredReceiver = entityManager.GetComponent<ApcPowerReceiverComponent>(unpoweredReceiverEnt);
|
||||
|
||||
var battery = entityManager.GetComponent<BatteryComponent>(apcEnt);
|
||||
|
||||
@@ -40,6 +40,7 @@ public sealed class PrototypeSaveTest
|
||||
var prototypeMan = server.ResolveDependency<IPrototypeManager>();
|
||||
var seriMan = server.ResolveDependency<ISerializationManager>();
|
||||
var compFact = server.ResolveDependency<IComponentFactory>();
|
||||
var mapSystem = server.System<SharedMapSystem>();
|
||||
|
||||
var prototypes = new List<EntityPrototype>();
|
||||
EntityUid uid;
|
||||
@@ -77,7 +78,7 @@ public sealed class PrototypeSaveTest
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
Assert.That(!mapManager.IsMapInitialized(mapId));
|
||||
Assert.That(!mapSystem.IsInitialized(mapId));
|
||||
var testLocation = grid.Owner.ToCoordinates();
|
||||
|
||||
Assert.Multiple(() =>
|
||||
@@ -184,7 +185,7 @@ public sealed class PrototypeSaveTest
|
||||
IDependencyCollection dependencies, bool alwaysWrite = false,
|
||||
ISerializationContext? context = null)
|
||||
{
|
||||
if (WritingComponent != "Transform" && (Prototype?.NoSpawn == false))
|
||||
if (WritingComponent != "Transform" && Prototype?.HideSpawnMenu == false)
|
||||
{
|
||||
// Maybe this will be necessary in the future, but at the moment it just indicates that there is some
|
||||
// issue, like a non-nullable entityUid data-field. If a component MUST have an entity uid to work with,
|
||||
|
||||
@@ -29,7 +29,7 @@ public sealed class PullerTest
|
||||
{
|
||||
foreach (var proto in protoManager.EnumeratePrototypes<EntityPrototype>())
|
||||
{
|
||||
if (!proto.TryGetComponent(out PullerComponent? puller))
|
||||
if (!proto.TryGetComponent(out PullerComponent? puller, compFactory))
|
||||
continue;
|
||||
|
||||
if (!puller.NeedsHands)
|
||||
|
||||
@@ -2,6 +2,7 @@ using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using Content.Shared.Lathe;
|
||||
using Content.Shared.Research.Prototypes;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Prototypes;
|
||||
|
||||
namespace Content.IntegrationTests.Tests;
|
||||
@@ -52,6 +53,7 @@ public sealed class ResearchTest
|
||||
var server = pair.Server;
|
||||
|
||||
var protoManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var compFact = server.ResolveDependency<IComponentFactory>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
@@ -65,7 +67,7 @@ public sealed class ResearchTest
|
||||
if (pair.IsTestPrototype(proto))
|
||||
continue;
|
||||
|
||||
if (!proto.TryGetComponent<LatheComponent>(out var lathe))
|
||||
if (!proto.TryGetComponent<LatheComponent>(out var lathe, compFact))
|
||||
continue;
|
||||
allLathes.Add(lathe);
|
||||
}
|
||||
|
||||
@@ -18,14 +18,14 @@ namespace Content.IntegrationTests.Tests.Round;
|
||||
[TestFixture]
|
||||
public sealed class JobTest
|
||||
{
|
||||
private static ProtoId<JobPrototype> _passenger = "Passenger";
|
||||
private static ProtoId<JobPrototype> _engineer = "StationEngineer";
|
||||
private static ProtoId<JobPrototype> _captain = "Captain";
|
||||
private static readonly ProtoId<JobPrototype> Passenger = "Passenger";
|
||||
private static readonly ProtoId<JobPrototype> Engineer = "StationEngineer";
|
||||
private static readonly ProtoId<JobPrototype> Captain = "Captain";
|
||||
|
||||
private static string _map = "JobTestMap";
|
||||
|
||||
[TestPrototypes]
|
||||
public static string JobTestMap = @$"
|
||||
private static readonly string JobTestMap = @$"
|
||||
- type: gameMap
|
||||
id: {_map}
|
||||
mapName: {_map}
|
||||
@@ -39,12 +39,12 @@ public sealed class JobTest
|
||||
mapNameTemplate: ""Empty""
|
||||
- type: StationJobs
|
||||
availableJobs:
|
||||
{_passenger}: [ -1, -1 ]
|
||||
{_engineer}: [ -1, -1 ]
|
||||
{_captain}: [ 1, 1 ]
|
||||
{Passenger}: [ -1, -1 ]
|
||||
{Engineer}: [ -1, -1 ]
|
||||
{Captain}: [ 1, 1 ]
|
||||
";
|
||||
|
||||
public void AssertJob(TestPair pair, ProtoId<JobPrototype> job, NetUserId? user = null, bool isAntag = false)
|
||||
private void AssertJob(TestPair pair, ProtoId<JobPrototype> job, NetUserId? user = null, bool isAntag = false)
|
||||
{
|
||||
var jobSys = pair.Server.System<SharedJobSystem>();
|
||||
var mindSys = pair.Server.System<MindSystem>();
|
||||
@@ -92,7 +92,7 @@ public sealed class JobTest
|
||||
await pair.Server.WaitPost(() => ticker.StartRound());
|
||||
await pair.RunTicksSync(10);
|
||||
|
||||
AssertJob(pair, _passenger);
|
||||
AssertJob(pair, Passenger);
|
||||
|
||||
await pair.Server.WaitPost(() => ticker.RestartRound());
|
||||
await pair.CleanReturnAsync();
|
||||
@@ -116,21 +116,21 @@ public sealed class JobTest
|
||||
Assert.That(ticker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
|
||||
Assert.That(pair.Client.AttachedEntity, Is.Null);
|
||||
|
||||
await pair.SetJobPriorities((_passenger, JobPriority.Medium), (_engineer, JobPriority.High));
|
||||
await pair.SetJobPriorities((Passenger, JobPriority.Medium), (Engineer, JobPriority.High));
|
||||
ticker.ToggleReadyAll(true);
|
||||
await pair.Server.WaitPost(() => ticker.StartRound());
|
||||
await pair.RunTicksSync(10);
|
||||
|
||||
AssertJob(pair, _engineer);
|
||||
AssertJob(pair, Engineer);
|
||||
|
||||
await pair.Server.WaitPost(() => ticker.RestartRound());
|
||||
Assert.That(ticker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
|
||||
await pair.SetJobPriorities((_passenger, JobPriority.High), (_engineer, JobPriority.Medium));
|
||||
await pair.SetJobPriorities((Passenger, JobPriority.High), (Engineer, JobPriority.Medium));
|
||||
ticker.ToggleReadyAll(true);
|
||||
await pair.Server.WaitPost(() => ticker.StartRound());
|
||||
await pair.RunTicksSync(10);
|
||||
|
||||
AssertJob(pair, _passenger);
|
||||
AssertJob(pair, Passenger);
|
||||
|
||||
await pair.Server.WaitPost(() => ticker.RestartRound());
|
||||
await pair.CleanReturnAsync();
|
||||
@@ -155,18 +155,18 @@ public sealed class JobTest
|
||||
Assert.That(ticker.RunLevel, Is.EqualTo(GameRunLevel.PreRoundLobby));
|
||||
Assert.That(pair.Client.AttachedEntity, Is.Null);
|
||||
|
||||
var captain = pair.Server.ProtoMan.Index(_captain);
|
||||
var engineer = pair.Server.ProtoMan.Index(_engineer);
|
||||
var passenger = pair.Server.ProtoMan.Index(_passenger);
|
||||
var captain = pair.Server.ProtoMan.Index(Captain);
|
||||
var engineer = pair.Server.ProtoMan.Index(Engineer);
|
||||
var passenger = pair.Server.ProtoMan.Index(Passenger);
|
||||
Assert.That(captain.Weight, Is.GreaterThan(engineer.Weight));
|
||||
Assert.That(engineer.Weight, Is.EqualTo(passenger.Weight));
|
||||
|
||||
await pair.SetJobPriorities((_passenger, JobPriority.Medium), (_engineer, JobPriority.High), (_captain, JobPriority.Low));
|
||||
await pair.SetJobPriorities((Passenger, JobPriority.Medium), (Engineer, JobPriority.High), (Captain, JobPriority.Low));
|
||||
ticker.ToggleReadyAll(true);
|
||||
await pair.Server.WaitPost(() => ticker.StartRound());
|
||||
await pair.RunTicksSync(10);
|
||||
|
||||
AssertJob(pair, _captain);
|
||||
AssertJob(pair, Captain);
|
||||
|
||||
await pair.Server.WaitPost(() => ticker.RestartRound());
|
||||
await pair.CleanReturnAsync();
|
||||
@@ -197,22 +197,22 @@ public sealed class JobTest
|
||||
var captain = engineers[3];
|
||||
engineers.RemoveAt(3);
|
||||
|
||||
await pair.SetJobPriorities(captain, (_captain, JobPriority.High), (_engineer, JobPriority.Medium));
|
||||
await pair.SetJobPriorities(captain, (Captain, JobPriority.High), (Engineer, JobPriority.Medium));
|
||||
foreach (var engi in engineers)
|
||||
{
|
||||
await pair.SetJobPriorities(engi, (_captain, JobPriority.Medium), (_engineer, JobPriority.High));
|
||||
await pair.SetJobPriorities(engi, (Captain, JobPriority.Medium), (Engineer, JobPriority.High));
|
||||
}
|
||||
|
||||
ticker.ToggleReadyAll(true);
|
||||
await pair.Server.WaitPost(() => ticker.StartRound());
|
||||
await pair.RunTicksSync(10);
|
||||
|
||||
AssertJob(pair, _captain, captain);
|
||||
AssertJob(pair, Captain, captain);
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
foreach (var engi in engineers)
|
||||
{
|
||||
AssertJob(pair, _engineer, engi);
|
||||
AssertJob(pair, Engineer, engi);
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
@@ -1,5 +1,4 @@
|
||||
using System.Linq;
|
||||
using Content.Server.Salvage;
|
||||
using Content.Shared.CCVar;
|
||||
using Content.Shared.Salvage;
|
||||
using Robust.Server.GameObjects;
|
||||
@@ -28,6 +27,7 @@ public sealed class SalvageTest
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var prototypeManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
var mapSystem = entManager.System<SharedMapSystem>();
|
||||
Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
|
||||
|
||||
await server.WaitPost(() =>
|
||||
@@ -36,7 +36,7 @@ public sealed class SalvageTest
|
||||
{
|
||||
var mapFile = salvage.MapPath;
|
||||
|
||||
var mapId = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId);
|
||||
try
|
||||
{
|
||||
Assert.That(mapLoader.TryLoad(mapId, mapFile.ToString(), out var roots));
|
||||
|
||||
@@ -23,6 +23,7 @@ namespace Content.IntegrationTests.Tests
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var sEntities = server.ResolveDependency<IEntityManager>();
|
||||
var mapLoader = sEntities.System<MapLoaderSystem>();
|
||||
var mapSystem = sEntities.System<SharedMapSystem>();
|
||||
var xformSystem = sEntities.EntitySysManager.GetEntitySystem<SharedTransformSystem>();
|
||||
var resManager = server.ResolveDependency<IResourceManager>();
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
@@ -33,19 +34,17 @@ namespace Content.IntegrationTests.Tests
|
||||
var dir = new ResPath(mapPath).Directory;
|
||||
resManager.UserData.CreateDir(dir);
|
||||
|
||||
var mapId = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId);
|
||||
|
||||
{
|
||||
var mapGrid = mapManager.CreateGrid(mapId);
|
||||
var mapGridEnt = mapGrid.Owner;
|
||||
xformSystem.SetWorldPosition(mapGridEnt, new Vector2(10, 10));
|
||||
mapGrid.SetTile(new Vector2i(0, 0), new Tile(1, (TileRenderFlag) 1, 255));
|
||||
var mapGrid = mapManager.CreateGridEntity(mapId);
|
||||
xformSystem.SetWorldPosition(mapGrid, new Vector2(10, 10));
|
||||
mapSystem.SetTile(mapGrid, new Vector2i(0, 0), new Tile(1, (TileRenderFlag) 1, 255));
|
||||
}
|
||||
{
|
||||
var mapGrid = mapManager.CreateGrid(mapId);
|
||||
var mapGridEnt = mapGrid.Owner;
|
||||
xformSystem.SetWorldPosition(mapGridEnt, new Vector2(-8, -8));
|
||||
mapGrid.SetTile(new Vector2i(0, 0), new Tile(2, (TileRenderFlag) 1, 254));
|
||||
var mapGrid = mapManager.CreateGridEntity(mapId);
|
||||
xformSystem.SetWorldPosition(mapGrid, new Vector2(-8, -8));
|
||||
mapSystem.SetTile(mapGrid, new Vector2i(0, 0), new Tile(2, (TileRenderFlag) 1, 254));
|
||||
}
|
||||
|
||||
Assert.Multiple(() => mapLoader.SaveMap(mapId, mapPath));
|
||||
@@ -74,7 +73,7 @@ namespace Content.IntegrationTests.Tests
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(xformSystem.GetWorldPosition(gridXform), Is.EqualTo(new Vector2(10, 10)));
|
||||
Assert.That(mapGrid.GetTileRef(new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(1, (TileRenderFlag) 1, 255)));
|
||||
Assert.That(mapSystem.GetTileRef(gridUid, mapGrid, new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(1, (TileRenderFlag) 1, 255)));
|
||||
});
|
||||
}
|
||||
{
|
||||
@@ -88,7 +87,7 @@ namespace Content.IntegrationTests.Tests
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(xformSystem.GetWorldPosition(gridXform), Is.EqualTo(new Vector2(-8, -8)));
|
||||
Assert.That(mapGrid.GetTileRef(new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(2, (TileRenderFlag) 1, 254)));
|
||||
Assert.That(mapSystem.GetTileRef(gridUid, mapGrid, new Vector2i(0, 0)).Tile, Is.EqualTo(new Tile(2, (TileRenderFlag) 1, 254)));
|
||||
});
|
||||
}
|
||||
});
|
||||
|
||||
@@ -25,17 +25,18 @@ namespace Content.IntegrationTests.Tests
|
||||
var server = pair.Server;
|
||||
var entManager = server.ResolveDependency<IEntityManager>();
|
||||
var mapLoader = entManager.System<MapLoaderSystem>();
|
||||
var mapSystem = entManager.System<SharedMapSystem>();
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
Assert.That(cfg.GetCVar(CCVars.GridFill), Is.False);
|
||||
|
||||
await server.WaitPost(() =>
|
||||
{
|
||||
var mapId0 = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId0);
|
||||
// TODO: Properly find the "main" station grid.
|
||||
var grid0 = mapManager.CreateGrid(mapId0);
|
||||
var grid0 = mapManager.CreateGridEntity(mapId0);
|
||||
mapLoader.Save(grid0.Owner, "save load save 1.yml");
|
||||
var mapId1 = mapManager.CreateMap();
|
||||
mapSystem.CreateMap(out var mapId1);
|
||||
EntityUid grid1 = default!;
|
||||
#pragma warning disable NUnit2045
|
||||
Assert.That(mapLoader.TryLoad(mapId1, "save load save 1.yml", out var roots, new MapLoadOptions() { LoadMap = false }), $"Failed to load test map {TestMap}");
|
||||
@@ -101,6 +102,7 @@ namespace Content.IntegrationTests.Tests
|
||||
var server = pair.Server;
|
||||
var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var mapSystem = server.System<SharedMapSystem>();
|
||||
|
||||
MapId mapId = default;
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
@@ -109,8 +111,7 @@ namespace Content.IntegrationTests.Tests
|
||||
// Load bagel.yml as uninitialized map, and save it to ensure it's up to date.
|
||||
server.Post(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
mapManager.AddUninitializedMap(mapId);
|
||||
mapSystem.CreateMap(out mapId, runMapInit: false);
|
||||
mapManager.SetMapPaused(mapId, true);
|
||||
Assert.That(mapLoader.TryLoad(mapId, TestMap, out _), $"Failed to load test map {TestMap}");
|
||||
mapLoader.SaveMap(mapId, "load save ticks save 1.yml");
|
||||
@@ -182,7 +183,8 @@ namespace Content.IntegrationTests.Tests
|
||||
await using var pair = await PoolManager.GetServerClient();
|
||||
var server = pair.Server;
|
||||
|
||||
var mapLoader = server.ResolveDependency<IEntitySystemManager>().GetEntitySystem<MapLoaderSystem>();
|
||||
var mapLoader = server.System<MapLoaderSystem>();
|
||||
var mapSystem = server.System<SharedMapSystem>();
|
||||
var mapManager = server.ResolveDependency<IMapManager>();
|
||||
var userData = server.ResolveDependency<IResourceManager>().UserData;
|
||||
var cfg = server.ResolveDependency<IConfigurationManager>();
|
||||
@@ -197,8 +199,7 @@ namespace Content.IntegrationTests.Tests
|
||||
// Load & save the first map
|
||||
server.Post(() =>
|
||||
{
|
||||
mapId = mapManager.CreateMap();
|
||||
mapManager.AddUninitializedMap(mapId);
|
||||
mapSystem.CreateMap(out mapId, runMapInit: false);
|
||||
mapManager.SetMapPaused(mapId, true);
|
||||
Assert.That(mapLoader.TryLoad(mapId, TestMap, out _), $"Failed to load test map {TestMap}");
|
||||
mapLoader.SaveMap(mapId, fileA);
|
||||
@@ -217,8 +218,7 @@ namespace Content.IntegrationTests.Tests
|
||||
server.Post(() =>
|
||||
{
|
||||
mapManager.DeleteMap(mapId);
|
||||
mapManager.CreateMap(mapId);
|
||||
mapManager.AddUninitializedMap(mapId);
|
||||
mapSystem.CreateMap(out mapId, runMapInit: false);
|
||||
mapManager.SetMapPaused(mapId, true);
|
||||
Assert.That(mapLoader.TryLoad(mapId, TestMap, out _), $"Failed to load test map {TestMap}");
|
||||
mapLoader.SaveMap(mapId, fileB);
|
||||
|
||||
@@ -41,7 +41,7 @@ public sealed partial class SerializationTest
|
||||
var data = new TestData
|
||||
{
|
||||
Value = TestEnum.Cc,
|
||||
Sequence = new() {TestEnum.Dd, TestEnum.Aa}
|
||||
Sequence = [TestEnum.Dd, TestEnum.Aa]
|
||||
};
|
||||
|
||||
node = seriMan.WriteValue(data, notNullableOverride: true);
|
||||
@@ -76,7 +76,7 @@ public sealed partial class SerializationTest
|
||||
[DataDefinition]
|
||||
private sealed partial class TestData
|
||||
{
|
||||
[DataField("value")] public Enum Value = default!;
|
||||
[DataField("sequence")] public List<Enum> Sequence = default!;
|
||||
[DataField] public Enum Value = default!;
|
||||
[DataField] public List<Enum> Sequence = default!;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,7 +2,6 @@ using System.Numerics;
|
||||
using Content.Server.Shuttles.Components;
|
||||
using Robust.Shared.GameObjects;
|
||||
using Robust.Shared.Map;
|
||||
using Robust.Shared.Maths;
|
||||
using Robust.Shared.Physics;
|
||||
using Robust.Shared.Physics.Components;
|
||||
using Robust.Shared.Physics.Systems;
|
||||
@@ -23,33 +22,33 @@ namespace Content.IntegrationTests.Tests
|
||||
var entManager = server.ResolveDependency<IEntityManager>();
|
||||
var physicsSystem = entManager.System<SharedPhysicsSystem>();
|
||||
|
||||
EntityUid gridEnt = default;
|
||||
PhysicsComponent gridPhys = null;
|
||||
|
||||
var map = await pair.CreateTestMap();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
var mapId = mapMan.CreateMap();
|
||||
var grid = mapMan.CreateGridEntity(mapId);
|
||||
gridEnt = grid.Owner;
|
||||
var mapId = map.MapId;
|
||||
var grid = map.Grid;
|
||||
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(entManager.HasComponent<ShuttleComponent>(gridEnt));
|
||||
Assert.That(entManager.TryGetComponent(gridEnt, out gridPhys));
|
||||
Assert.That(entManager.HasComponent<ShuttleComponent>(grid));
|
||||
Assert.That(entManager.TryGetComponent(grid, out gridPhys));
|
||||
});
|
||||
Assert.Multiple(() =>
|
||||
{
|
||||
Assert.That(gridPhys.BodyType, Is.EqualTo(BodyType.Dynamic));
|
||||
Assert.That(entManager.GetComponent<TransformComponent>(gridEnt).LocalPosition, Is.EqualTo(Vector2.Zero));
|
||||
Assert.That(entManager.GetComponent<TransformComponent>(grid).LocalPosition, Is.EqualTo(Vector2.Zero));
|
||||
});
|
||||
physicsSystem.ApplyLinearImpulse(gridEnt, Vector2.One, body: gridPhys);
|
||||
physicsSystem.ApplyLinearImpulse(grid, Vector2.One, body: gridPhys);
|
||||
});
|
||||
|
||||
await server.WaitRunTicks(1);
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
Assert.That(entManager.GetComponent<TransformComponent>(gridEnt).LocalPosition, Is.Not.EqualTo(Vector2.Zero));
|
||||
Assert.That(entManager.GetComponent<TransformComponent>(map.Grid).LocalPosition, Is.Not.EqualTo(Vector2.Zero));
|
||||
});
|
||||
await pair.CleanReturnAsync();
|
||||
}
|
||||
|
||||
@@ -19,12 +19,12 @@ namespace Content.IntegrationTests.Tests.Sprite;
|
||||
/// - Shouldn't have an item component
|
||||
/// - Is missing the required sprite information.
|
||||
/// If none of the abveo are true, it might need to be added to the list of ignored components, see
|
||||
/// <see cref="_ignored"/>
|
||||
/// <see cref="Ignored"/>
|
||||
/// </remarks>
|
||||
[TestFixture]
|
||||
public sealed class PrototypeSaveTest
|
||||
{
|
||||
private static HashSet<string> _ignored = new()
|
||||
private static readonly HashSet<string> Ignored = new()
|
||||
{
|
||||
// The only prototypes that should get ignored are those that REQUIRE setup to get a sprite. At that point it is
|
||||
// the responsibility of the spawner to ensure that a valid sprite is set.
|
||||
@@ -36,11 +36,11 @@ public sealed class PrototypeSaveTest
|
||||
{
|
||||
var settings = new PoolSettings() { Connected = true }; // client needs to be in-game
|
||||
await using var pair = await PoolManager.GetServerClient(settings);
|
||||
List<EntityPrototype> badPrototypes = new();
|
||||
List<EntityPrototype> badPrototypes = [];
|
||||
|
||||
await pair.Client.WaitPost(() =>
|
||||
{
|
||||
foreach (var proto in pair.GetPrototypesWithComponent<ItemComponent>(_ignored))
|
||||
foreach (var proto in pair.GetPrototypesWithComponent<ItemComponent>(Ignored))
|
||||
{
|
||||
var dummy = pair.Client.EntMan.Spawn(proto.ID);
|
||||
pair.Client.EntMan.RunMapInit(dummy, pair.Client.MetaData(dummy));
|
||||
|
||||
@@ -36,10 +36,12 @@ public abstract class ToolshedTest : IInvocationContext
|
||||
await TearDown();
|
||||
}
|
||||
|
||||
protected virtual async Task TearDown()
|
||||
protected virtual Task TearDown()
|
||||
{
|
||||
Assert.That(_expectedErrors, Is.Empty);
|
||||
ClearErrors();
|
||||
|
||||
return Task.CompletedTask;
|
||||
}
|
||||
|
||||
[SetUp]
|
||||
|
||||
@@ -111,6 +111,7 @@ namespace Content.IntegrationTests.Tests
|
||||
await server.WaitIdleAsync();
|
||||
|
||||
var prototypeManager = server.ResolveDependency<IPrototypeManager>();
|
||||
var compFact = server.ResolveDependency<IComponentFactory>();
|
||||
|
||||
await server.WaitAssertion(() =>
|
||||
{
|
||||
@@ -133,7 +134,7 @@ namespace Content.IntegrationTests.Tests
|
||||
// Collect all the prototypes with StorageFills referencing those entities.
|
||||
foreach (var proto in prototypeManager.EnumeratePrototypes<EntityPrototype>())
|
||||
{
|
||||
if (!proto.TryGetComponent<StorageFillComponent>(out var storage))
|
||||
if (!proto.TryGetComponent<StorageFillComponent>(out var storage, compFact))
|
||||
continue;
|
||||
|
||||
List<string> restockStore = new();
|
||||
|
||||
Reference in New Issue
Block a user