Table of Contents

Class ModOrderingTests

Namespace
GrindFest
Assembly
GrindFest.dll

The P4 ordering gate that was never written as a test.

CONTENT_PLATFORM_PLAN.md ยง11 lists P4's gate as "mod DevTest: add/patch/remove item + monster, ordering test". The patch half became ContentDatabaseTests.ModPatchesAddPatchAndRemoveDefinitions and PatchOrderFollowsPackageOrder (EditMode). The ordering and entry-point-resilience half was only ever verified by hand, in play, with two fixture mods copied into the live Mods folder -- and left there. Two consequences, both worth avoiding next time: the leftovers produced a red log line on every boot for four days, and the verification cannot be repeated by anyone, because the fixtures exist on one machine and nowhere in the repo.

This covers what that run covered, is repeatable, and owns its fixtures the way ContentHotReloadTests does: __dt_modorder* folders are written, asserted against, and deleted in a finally block (with a clean-up of leftovers first, because a timeout aborts before finally).

public class ModOrderingTests : DevTest
Inheritance
object
ModOrderingTests
Inherited Members

Properties

ExpectedLogErrors

The fixture's BrokenEntry exists to throw, and the compiler reports that as an error by design. Declared here so the runner's "a passing test that logged an error is not a pass" gate stays on for everything this test did not mean to provoke.

Methods

DependencyOrderBeatsTheAlphabet()

A mod that depends on another has to load AFTER it even when the alphabet says otherwise, and a throwing entry point must not stop its siblings from loading.