using Content.IntegrationTests.Tests.Interaction;
using Robust.Shared.Map;
namespace Content.IntegrationTests.Tests.Tiles;
public sealed class TileConstructionTests : InteractionTest
{
/// <summary>
/// Test placing and cutting a single lattice.
/// </summary>
[Test]
public async Task PlaceThenCutLattice()
await AssertTile(Plating);
await AssertTile(Plating, PlayerCoords);
AssertGridCount(1);
await SetTile(null);
await Interact(Rod);
await AssertTile(Lattice);
Assert.That(Hands.ActiveHandEntity, Is.Null);
await Interact(Cut);
await AssertTile(null);
await AssertEntityLookup((Rod, 1));
}
/// Test placing and cutting a single lattice in space (not adjacent to any existing grid.
public async Task CutThenPlaceLatticeNewGrid()
// Remove grid
await SetTile(null, PlayerCoords);
Assert.That(MapData.Grid.Comp.Deleted);
AssertGridCount(0);
// Place Lattice
var oldPos = TargetCoords;
TargetCoords = SEntMan.GetNetCoordinates(new EntityCoordinates(MapData.MapUid, 1, 0));
TargetCoords = oldPos;
// Cut lattice
/// Test space -> floor -> plating
public async Task FloorConstructDeconstruct()
// Space -> Lattice
// Lattice -> Plating
await Interact(Steel);
// Plating -> Tile
await Interact(FloorItem);
await AssertTile(Floor);
// Tile -> Plating
await Interact(Pry);
await AssertEntityLookup((FloorItem, 1));