61 lines
2.0 KiB
C#
61 lines
2.0 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 = "EngineeringTechFabCircuitboard"; // DeltaV - departmental techfabs
|
|
private const string Protolathe = "EngineeringTechFab"; // DeltaV
|
|
private const string Beaker = "Beaker";
|
|
|
|
[Test]
|
|
public async Task ConstructProtolathe()
|
|
{
|
|
await StartConstruction(MachineFrame);
|
|
await InteractUsing(Steel, 5);
|
|
ClientAssertPrototype(Unfinished, Target);
|
|
await Interact(Wrench, Cable);
|
|
AssertPrototype(MachineFrame);
|
|
await Interact(ProtolatheBoard, Manipulator1, Manipulator1, 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, 4),
|
|
(ProtolatheBoard, 1));
|
|
}
|
|
|
|
[Test]
|
|
public async Task ChangeMachine()
|
|
{
|
|
// Partially deconstruct a protolathe.
|
|
await SpawnTarget(Protolathe);
|
|
await Interact(Screw, Pry, Pry);
|
|
AssertPrototype(MachineFrame);
|
|
|
|
return; // DeltaV - i doubt this will break ever and cbf to change it to something else
|
|
|
|
// Change it into an autolathe
|
|
await InteractUsing("AutolatheMachineCircuitboard");
|
|
AssertPrototype(MachineFrame);
|
|
await Interact(Manipulator1, Manipulator1, Manipulator1, Manipulator1, Glass, Screw);
|
|
AssertPrototype("Autolathe");
|
|
}
|
|
}
|
|
|