Document code style and normalize files

This commit is contained in:
2026-05-08 21:10:46 +02:00
parent 2e813962c9
commit 5a261f5fe2
20 changed files with 1033 additions and 388 deletions

View File

@@ -1,4 +1,4 @@
<Project Sdk="Microsoft.NET.Sdk">
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>

View File

@@ -1,36 +1,36 @@
namespace ReactorMaintenance.Simulation.Tests;
namespace ReactorMaintenance.Simulation.Tests;
public sealed class SimulationEngineTests
{
[Fact]
public void FuelLeakNearPoweredGeneratorCreatesIgnitionForecast()
{
var level = LevelState.Create("Fuel leak", 6, 6).SetCell(new(2, 2), new()
{
Kind = CellKind.Generator,
Pipe = PipeMedium.Fuel,
LeakRate = 4,
Pressure = 8,
Integrity = 8,
Powered = true
});
var level = LevelState.Create("Fuel leak", 6, 6)
.SetCell(new(2, 2), new() {
Kind = ECellKind.Generator,
Pipe = EPipeMedium.Fuel,
LeakRate = 4,
Pressure = 8,
Integrity = 8,
Powered = true
});
var forecasts = _engine.Forecast(level);
var forecasts = m_Engine.Forecast(level);
Assert.Contains(forecasts, forecast => forecast.Kind == FailureKind.Ignition && forecast.Position == new GridPosition(2, 2));
Assert.Contains(forecasts, forecast => forecast.Kind == EFailureKind.Ignition && forecast.Position == new GridPosition(2, 2));
}
[Fact]
public void CoolantLeakOnPoweredCellRaisesElectricalCharge()
{
var level = LevelState.Create("Wet cable", 6, 6).SetCell(new(3, 3), new()
{
Pipe = PipeMedium.Coolant,
LeakRate = 3,
Powered = true
});
var level = LevelState.Create("Wet cable", 6, 6)
.SetCell(new(3, 3), new() {
Pipe = EPipeMedium.Coolant,
LeakRate = 3,
Powered = true
});
var next = _engine.AdvanceTurn(level);
var next = m_Engine.AdvanceTurn(level);
Assert.True(next.GetCell(new(3, 3)).Hazards.ElectricalCharge >= 2);
}
@@ -38,37 +38,37 @@ public sealed class SimulationEngineTests
[Fact]
public void OverpressurePredictsPipeBurst()
{
var level = LevelState.Create("Pressure", 6, 6).SetCell(new(1, 2), new()
{
Pipe = PipeMedium.Pressure,
Pressure = 10,
Integrity = 6
});
var level = LevelState.Create("Pressure", 6, 6)
.SetCell(new(1, 2), new() {
Pipe = EPipeMedium.Pressure,
Pressure = 10,
Integrity = 6
});
var forecasts = _engine.Forecast(level);
var forecasts = m_Engine.Forecast(level);
Assert.Contains(forecasts, forecast => forecast.Kind == FailureKind.PipeBurst && forecast.Turns == 2);
Assert.Contains(forecasts, forecast => forecast.Kind == EFailureKind.PipeBurst && forecast.Turns == 2);
}
[Fact]
public void StableReactorWithPowerAndCoolingCanActivate()
{
var level = LevelState.Create("Ready", 8, 6).SetCell(new(2, 2), new()
{
Kind = CellKind.Reactor,
Hazards = new() { Heat = 3 }
}).SetCell(new(3, 2), new()
{
Kind = CellKind.Generator,
Powered = true
}).SetCell(new(4, 2), new()
{
Kind = CellKind.CoolingPump,
Powered = true
});
var level = LevelState.Create("Ready", 8, 6)
.SetCell(new(2, 2), new() {
Kind = ECellKind.Reactor,
Hazards = new() { Heat = 3 }
})
.SetCell(new(3, 2), new() {
Kind = ECellKind.Generator,
Powered = true
})
.SetCell(new(4, 2), new() {
Kind = ECellKind.CoolingPump,
Powered = true
});
var next = _engine.AdvanceTurn(level);
var activated = _engine.ActivateReactor(next);
var next = m_Engine.AdvanceTurn(level);
var activated = m_Engine.ActivateReactor(next);
Assert.Equal("REACTOR ONLINE", activated.Global.Status);
Assert.True(activated.Global.ReactorActivated);
@@ -78,18 +78,18 @@ public sealed class SimulationEngineTests
public void LevelSerializationRoundTripsEditableState()
{
var level = LevelState.Create("Round trip", 5, 5);
level = LevelEditor.Apply(level, new(2, 2), EditorTool.Reactor);
level = LevelEditor.Apply(level, new(1, 2), EditorTool.CoolantPipe);
level = LevelEditor.Apply(level, new(1, 2), EditorTool.Leak);
level = LevelEditor.Apply(level, new(2, 2), EEditorTool.Reactor);
level = LevelEditor.Apply(level, new(1, 2), EEditorTool.CoolantPipe);
level = LevelEditor.Apply(level, new(1, 2), EEditorTool.Leak);
var json = LevelSerializer.Serialize(level);
var loaded = LevelSerializer.Deserialize(json);
Assert.Equal(level.Name, loaded.Name);
Assert.Equal(CellKind.Reactor, loaded.GetCell(new(2, 2)).Kind);
Assert.Equal(PipeMedium.Coolant, loaded.GetCell(new(1, 2)).Pipe);
Assert.Equal(ECellKind.Reactor, loaded.GetCell(new(2, 2)).Kind);
Assert.Equal(EPipeMedium.Coolant, loaded.GetCell(new(1, 2)).Pipe);
Assert.Equal(1, loaded.GetCell(new(1, 2)).LeakRate);
}
private readonly SimulationEngine _engine = new();
private readonly SimulationEngine m_Engine = new();
}