RestoredHullsTests.Settings() hand-set thermal radiation/conduction at their bare-class defaults (1/1/1) against the shipped 3 / 1e-8 / 0.01 (Assets/Resources/Settings.asset), so equipped parts froze toward 0 K on real physics and every test built on that fixture ran on thermal behaviour nobody ships. It now loads the real GameplaySettings through AuthoredSettings (tools/AetherDb/AuthoredSettings.cs), the same headless YAML reader tools/AetherDb already uses to inspect Settings.asset outside Unity -- the tests project now references AetherDb.csproj to reuse it instead of hand-copying the same fields a second time. LonginusNeverExceedsItsRestoredTopSpeedUnderFullThrust no longer needs OverrideShutdown to keep the ship flying (that was compensating for the broken fixture shutting equipment down within ~1s); it now drives a generated Longinus (seed-pinned, including ItemManager.Random, which defaults to a DateTime.Now seed and was making item quality -- and so the measured speed -- non-deterministic) for 5s, the window Soul measured before this loadout's thrusters cross 386 K and shut down. The tolerance is now asymmetric instead of the old +-10: +4 on the ceiling (the mixer's own tick order settles real, unforced flight at the cap plus one tick's acceleration, measured at ~103.3 for this loadout) and -3 on the floor (tight enough to catch a nerfed TopSpeed catalog value, which +-10 or a wider ceiling would not). Every other test in the file now runs on real settings instead of the frozen fixture; all 15 tests in RestoredHullsTests pass unchanged. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
18 lines
886 B
XML
18 lines
886 B
XML
<Project Sdk="Microsoft.NET.Sdk">
|
|
<!-- Pins AetheriaStores' routing and the document model against CultLib's CultCache, headless. -->
|
|
<PropertyGroup>
|
|
<TargetFramework>net10.0</TargetFramework>
|
|
<IsPackable>false</IsPackable>
|
|
<Nullable>disable</Nullable>
|
|
<ImplicitUsings>disable</ImplicitUsings>
|
|
</PropertyGroup>
|
|
<ItemGroup>
|
|
<ProjectReference Include="..\..\Aetheria.Shared\Aetheria.Shared.csproj" />
|
|
<!-- AuthoredSettings (Unity Settings.asset YAML reader), so fixtures load the shipped gameplay settings
|
|
instead of hand-copying them. -->
|
|
<ProjectReference Include="..\..\tools\AetherDb\AetherDb.csproj" />
|
|
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.4.0" />
|
|
<PackageReference Include="xunit" Version="2.9.3" />
|
|
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5" />
|
|
</ItemGroup>
|
|
</Project>
|