Files
tbd-station-14/Content.IntegrationTests/Tests/Construction/Interaction/MachineConstruction.cs
Emisse df1d8c36e5 kill machine parts + migrate machine part spawners to salvage loot spawner (#23752)
* kill machine parts

* guidebook and artifact effect

* worst test ive ever seen in my life

* nuke test
2024-01-08 16:24:36 -07:00

61 lines
1.9 KiB
C#

using Content.IntegrationTests.Tests.Interaction;
namespace Content.IntegrationTests.Tests.Construction.Interaction;
public sealed class MachineConstruction : InteractionTest
{
private const string MachineFrame = "MachineFrame";
private const string Unfinished = "UnfinishedMachineFrame";
private const string ProtolatheBoard = "ProtolatheMachineCircuitboard";
private const string Protolathe = "Protolathe";
private const string Beaker = "Beaker";
[Test]
public async Task ConstructProtolathe()
{
await StartConstruction(MachineFrame);
await Interact(Steel, 5);
ClientAssertPrototype(Unfinished, ClientTarget);
Target = CTestSystem.Ghosts[ClientTarget!.Value.GetHashCode()];
await Interact(Wrench, Cable);
AssertPrototype(MachineFrame);
await Interact(ProtolatheBoard, Bin1, Bin1, Manipulator1, Manipulator1, Beaker, Beaker, Screw);
AssertPrototype(Protolathe);
}
[Test]
public async Task DeconstructProtolathe()
{
await StartDeconstruction(Protolathe);
await Interact(Screw, Pry);
AssertPrototype(MachineFrame);
await Interact(Pry, Cut);
AssertPrototype(Unfinished);
await Interact(Wrench, Screw);
AssertDeleted();
await AssertEntityLookup(
(Steel, 5),
(Cable, 1),
(Beaker, 2),
(Manipulator1, 2),
(Bin1, 2),
(ProtolatheBoard, 1));
}
[Test]
public async Task ChangeMachine()
{
// Partially deconstruct a protolathe.
await SpawnTarget(Protolathe);
await Interact(Screw, Pry, Pry);
AssertPrototype(MachineFrame);
// Change it into an autolathe
await Interact("AutolatheMachineCircuitboard");
AssertPrototype(MachineFrame);
await Interact(Bin1, Bin1, Bin1, Manipulator1, Glass, Screw);
AssertPrototype("Autolathe");
}
}