Skip to content

ResourceSequenceTestSuite: Rework to be more in-line with newer tests #343

Description

@YYDan

Description

ResourceSequenceTestSuite was never covered by the summer 2024 refactor campaign. It holds 90 asserts in 27 facts across 1,467 lines — 3.3 asserts per fact, with 18 of the 27 facts carrying three or more asserts.

This suite is a particularly clear case because many facts still carry the original inline //#1, //#2, //#3 scenario markers in their bodies — the author already identified the sub-scenarios, they were simply never lifted into their own facts. Examples: sequence.loopmode_test (6 asserts, 3 markers), sequence.messageEventKeyframes_test (5 asserts, 4 markers), track.keyframes_test (5 asserts, 4 markers), track.tracks_test (5 asserts, 4 markers), sequenceInstance.finished_test (4 asserts, 3 markers).

Those markers are the split plan — each one becomes a fact, and per the convention the original //#N comment is preserved as the new fact's inline description.

Target: roughly 80–95 facts.

Note that this suite also contains 9 math_set_epsilon() calls; these are separate from the dead-restore cleanup issue and should be left alone here unless a split makes one redundant.

Script Name

ResourceSequenceTestSuite

Steps To The Task

  • Use the existing inline //#N markers as the split plan; audit the remaining facts for unmarked scenarios
  • Split each scenario into its own addFact(), named <original_name> #N, preserving the original //#N comment as the inline description
  • Give each new fact its own sequence/instance creation and cleanup so it is self-contained
  • Add section comment headers separating the sequence.*, sequenceInstance.* and track.* families
  • Update assert descriptions so they identify the specific scenario
  • Confirm the total assert count is unchanged (90) and that no fact name is duplicated
  • Run the suite on VM and YYC and confirm the same set of checks pass as before

Metadata

Metadata

Assignees

Labels

refactorAn improvement to existing test/module code

Type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions