| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576 |
- using Content.Server.Fluids.EntitySystems;
- using Content.Shared.Chemistry.Components;
- using Content.Shared.Coordinates;
- using Content.Shared.FixedPoint;
- using Content.Shared.Fluids.Components;
- using Robust.Shared.GameObjects;
- using Robust.Shared.Map;
- namespace Content.IntegrationTests.Tests.Fluids
- {
- [TestFixture]
- [TestOf(typeof(PuddleComponent))]
- public sealed class PuddleTest
- {
- [Test]
- public async Task TilePuddleTest()
- {
- await using var pair = await PoolManager.GetServerClient();
- var server = pair.Server;
- var testMap = await pair.CreateTestMap();
- var spillSystem = server.System<PuddleSystem>();
- await server.WaitAssertion(() =>
- {
- var solution = new Solution("Water", FixedPoint2.New(20));
- var tile = testMap.Tile;
- var gridUid = tile.GridUid;
- var (x, y) = tile.GridIndices;
- var coordinates = new EntityCoordinates(gridUid, x, y);
- Assert.That(spillSystem.TrySpillAt(coordinates, solution, out _), Is.True);
- });
- await pair.RunTicksSync(5);
- await pair.CleanReturnAsync();
- }
- [Test]
- public async Task SpaceNoPuddleTest()
- {
- await using var pair = await PoolManager.GetServerClient();
- var server = pair.Server;
- var testMap = await pair.CreateTestMap();
- var grid = testMap.Grid;
- var entitySystemManager = server.ResolveDependency<IEntitySystemManager>();
- var spillSystem = server.System<PuddleSystem>();
- var mapSystem = server.System<SharedMapSystem>();
- // Remove all tiles
- await server.WaitPost(() =>
- {
- var tiles = mapSystem.GetAllTiles(grid.Owner, grid.Comp);
- foreach (var tile in tiles)
- {
- mapSystem.SetTile(grid, tile.GridIndices, Tile.Empty);
- }
- });
- await pair.RunTicksSync(5);
- await server.WaitAssertion(() =>
- {
- var coordinates = grid.Owner.ToCoordinates();
- var solution = new Solution("Water", FixedPoint2.New(20));
- Assert.That(spillSystem.TrySpillAt(coordinates, solution, out _), Is.False);
- });
- await pair.CleanReturnAsync();
- }
- }
- }
|