Skip to content

Finishing up "Object Model Realignments for Merge Trains"

drew stachon requested to merge 298541-introduce-train-object into master

What does this MR do and why?

This MR is a continuation of the work in MR_LINK to introduce a MergeTrains::Train object to hold logic that applies to whole trains, instead of operating on sets of Car records all the time.

This isn't meant to be the entirety of the refactors; there are already several follow-up MRs with other refactors that depend on this one:

but here we'll introduce the Train class itself, so it can be iterated on and used by smaller changes in the follow-up MRs.

How to set up and validate locally

The work happening here is entirely under the hood, and we shouldn't be making any behavioral changes. So fire up some local merge trains if you like, but primarily we're relying on tests here to prove our features work the same way.

MR acceptance checklist

This checklist encourages us to confirm any changes have been analyzed to reduce risks in quality, performance, reliability, security, and maintainability.

Related to #298541 (closed)

Edited by drew stachon

Merge request reports