test: finish diagnostic classification

This commit is contained in:
Erik 2026-08-18 13:41:17 +02:00
parent a8cd3e2da2
commit 631ecd24e3
17 changed files with 28 additions and 3 deletions

View file

@ -199,6 +199,7 @@ public class CornerFloodReplayTests
/// </summary>
[Fact]
[Trait("Lane", "InstalledDat")]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_TraceGoodVsGlitchStep()
{
var datDir = ResolveDatDir();
@ -500,6 +501,7 @@ public class CornerFloodReplayTests
/// </summary>
[Fact]
[Trait("Lane", "InstalledDat")]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_Hop2Microscope()
{
var datDir = ResolveDatDir();
@ -631,6 +633,7 @@ public class CornerFloodReplayTests
/// </summary>
[Fact]
[Trait("Lane", "InstalledDat")]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_CornerPress_FloodAcrossDoorwayPlane()
{
var datDir = ResolveDatDir();

View file

@ -437,6 +437,7 @@ public class HouseExitWalkReplayTests
/// <summary>Full per-step table for the handoff doc.</summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_ExitWalk_PerStepTable()
{
var steps = RunExitWalk();
@ -457,6 +458,7 @@ public class HouseExitWalkReplayTests
/// cull ALL outdoor content — terrain included, not just the player).
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_StaleRootWindow_EyeJustOutside()
{
var datDir = CornerFloodReplayTests.ResolveDatDir();

View file

@ -57,7 +57,7 @@ public class Issue130DoorwayStripTests
}
[Fact]
public void Diagnostic_ExitDoorTopEdge_GateVsAperture()
public void ExitDoorTopEdge_GateCoversLiftedApertureWithinPixelTolerance()
{
var datDir = CornerFloodReplayTests.ResolveDatDir();
if (datDir is null) { _out.WriteLine("SKIP: dats unavailable"); Assert.Fail("Lane=InstalledDat requires an installed retail DAT directory; see docs/release-gate.md."); }

View file

@ -117,6 +117,7 @@ public class Issue181VisFlapReplayTests
}
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_SubMillimeterEyePerturbation_MustNotChangeAdmission()
{
var datDir = CornerFloodReplayTests.ResolveDatDir();

View file

@ -44,6 +44,7 @@ public class Issue95DungeonFloodDiagnosticTests
}
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Measure_DungeonFlood_VisibleCellCount()
{
var datDir = CornerFloodReplayTests.ResolveDatDir();

View file

@ -224,6 +224,7 @@ public sealed class Issue112MembershipTests
}
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_ReplayCapturedEntryWalk()
{
// Replays the cottage-112-capture1.log entry walk (world → A9B3-local =

View file

@ -30,6 +30,7 @@ public sealed class Issue113DoorVanishDiagnosticTests
private const uint DoorSetupId = 0x020019FFu;
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpDoorSetup_DrawingBspCoverage()
{
var datDir = ConformanceDats.ResolveDatDir();

View file

@ -39,6 +39,7 @@ public sealed class Issue113PhantomStairsDumpTests
private static readonly Vector3 GapPoint = new(184.915f, 82.464f, 116.48f);
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpA9B3_Buildings_And_InteriorCells()
{
var datDir = ConformanceDats.ResolveDatDir();
@ -196,6 +197,7 @@ public sealed class Issue113PhantomStairsDumpTests
/// the shell?).
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpA9B3_Statics_OutdoorStabs_And_ShellModel()
{
var datDir = ConformanceDats.ResolveDatDir();
@ -342,6 +344,7 @@ public sealed class Issue113PhantomStairsDumpTests
/// + per-model stair scan + cells near the user's viewpoint.
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpAAB3_Buildings_And_StairScan()
{
var datDir = ConformanceDats.ResolveDatDir();
@ -441,6 +444,7 @@ public sealed class Issue113PhantomStairsDumpTests
/// Also localize the model's ramps to know which face the stairs are on.
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpAAB3_Watchtower_DoorAlignment_And_RampFaces()
{
var datDir = ConformanceDats.ResolveDatDir();

View file

@ -35,6 +35,7 @@ public sealed class Issue119TowerDumpTests
private static readonly Vector3 TowerSpot = new(107.4f, 59.0f, 112.0f); // AAB3-local, from the [snap]
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpTowerCellNeighbourhood()
{
var datDir = ConformanceDats.ResolveDatDir();
@ -144,6 +145,7 @@ public sealed class Issue119TowerDumpTests
/// VISIBLE sibling parts failing, or the whole-part placement is off.
/// </summary>
[Theory]
[Trait("Purpose", "Diagnostic")]
[InlineData(0x020005D8u)]
[InlineData(0x020003F2u)]
public void DumpTowerStairSetups(uint setupId)

View file

@ -33,6 +33,7 @@ public sealed class Issue119UpNullGfxObjDumpTests
[Theory]
[MemberData(nameof(UpNullIds))]
[Trait("Purpose", "Diagnostic")]
public void DumpUpNullGfxObj(uint id)
{
var datDir = ConformanceDats.ResolveDatDir();

View file

@ -767,7 +767,7 @@ public sealed class ClientObjectTableTests
}
/// <summary>
/// SCRATCH G4 reproduction: a vendor BUY's real wire shape is a fresh
/// A vendor BUY's real wire shape is a fresh
/// CreateObject (a BRAND NEW guid our client has never seen before —
/// ACE's Player_Commerce.cs FinalizeBuyTransaction/ItemProfileToWorldObjects
/// mints a new WorldObject for common stock, distinct from the shop-list
@ -783,7 +783,7 @@ public sealed class ClientObjectTableTests
/// object FIRST) already proves.
/// </summary>
[Fact]
public void SCRATCH_BuyShapedFreshGuidCreateObjectThenContainId_FinalOrder()
public void BuyShapedFreshGuidCreateThenPlacementZeroEcho_InsertsAtRetailListHead()
{
var table = new ClientObjectTable();
const uint pack = 0x50000001u;

View file

@ -737,6 +737,7 @@ public class CellarUpTrajectoryReplayTests : IDisposable
/// Always passes; this is a one-shot tool, not a regression.
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void LiveCompare_FirstCap_DiagnosticDump()
{
PhysicsDiagnostics.ProbeResolveEnabled = true;

View file

@ -162,6 +162,7 @@ public class DoorBugTrajectoryReplayTests
/// </summary>
[Fact]
[Trait("Lane", "InstalledDat")]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_Tick22760_DumpEngineInternals()
{
var datDir = ResolveDatDir();
@ -215,6 +216,7 @@ public class DoorBugTrajectoryReplayTests
[Fact]
[Trait("Lane", "InstalledDat")]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_Tick13558_DumpEngineInternals()
{
var datDir = ResolveDatDir();
@ -686,6 +688,7 @@ public class DoorBugTrajectoryReplayTests
/// / nothing.
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_CottagePolys_NearWalkthroughPosition()
{
var fixturePath = Path.Combine(SolutionRoot(),

View file

@ -281,6 +281,7 @@ public class Issue108CellarAscentViewerReplayTests
/// below grade, and the branch column attributes the demote site.
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_CellarAscent_PerStepTable()
{
var steps = RunAscent(BoomDistance, pathLagMeters: 0f);
@ -303,6 +304,7 @@ public class Issue108CellarAscentViewerReplayTests
/// <summary>Boom-distance + damping-lag sweep: how wide is the window across poses?</summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void Diagnostic_CellarAscent_PoseSweep()
{
foreach (float dist in new[] { 2.61f, 5.0f })

View file

@ -24,6 +24,7 @@ public sealed class Issue147ArwicBuildingsDumpTests
public Issue147ArwicBuildingsDumpTests(ITestOutputHelper o) => _out = o;
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpArwicBuildingsAndObjects()
{
var datDir = Env.GetEnvironmentVariable("ACDREAM_DAT_DIR")

View file

@ -360,6 +360,7 @@ public class Issue265SteepSlopeCaptureBisectTests
/// the correct future regression assertion) is still being decided.
/// </summary>
[Fact]
[Trait("Purpose", "Diagnostic")]
public void RealCapturedRoofLanding_CharacterizeCurrentBehavior()
{
PhysicsDiagnostics.ResetForTest();

View file

@ -68,6 +68,7 @@ public sealed class Issue337NeftetRockGeometryInspectionTests
int BspPolys);
[Fact]
[Trait("Purpose", "Diagnostic")]
public void DumpNeftetLandblockStaticsAndProbeTheWedgePoint()
{
System.Globalization.CultureInfo.CurrentCulture =