Align frontend pulse contract and tasks

This commit is contained in:
2026-05-14 10:26:56 +02:00
parent 830c7aef14
commit 6decf2a9d2
13 changed files with 129 additions and 90 deletions

View File

@@ -70,6 +70,31 @@ public sealed class LevelEditorTests
Assert.Equal(EConsumerServiceState.Unknown, next.GetProp(new(2, 2)).ElectricityServiceState);
}
[Fact]
public void IsolationValveToolPlacesCarrierBoundValve()
{
var level = LevelState.Create("Valve editor", 6, 6);
var next = LevelEditor.Apply(level, new(2, 2), new() { Tool = EEditorTool.IsolationValve, Carrier = ECarrierType.Fuel });
Assert.Equal(EPropType.IsolationValve, next.GetProp(new(2, 2)).Type);
Assert.Equal(ECarrierType.Fuel, next.GetProp(new(2, 2)).Carrier);
}
[Fact]
public void SprinklerToolsPlaceFloorControlAndWallValve()
{
var level = LevelState.Create("Sprinkler editor", 6, 6);
level = level.SetTerrain(new(2, 2), ECellTerrain.Wall);
var control = LevelEditor.Apply(level, new(1, 2), new() { Tool = EEditorTool.SprinklerControl });
var valve = LevelEditor.Apply(control, new(2, 2), new() { Tool = EEditorTool.SprinklerValve });
Assert.Equal(EPropType.SprinklerControl, valve.GetProp(new(1, 2)).Type);
Assert.Equal(EPropType.SprinklerValve, valve.GetProp(new(2, 2)).Type);
Assert.Equal(new(2, 1), valve.GetProp(new(2, 2)).OutletPosition);
}
[Fact]
public void ElectricityLeakUsesAuthoredWallAccessFace()
{