Draft PR as I'm still working on unit tests AND need to type up a description for what I think this code does.
TestBuilder.cs
Remove the logic in 'ExecuteTestCase' method. Replaced with a temporary method that builds and then executes the test case (it was probably inappropriate anyway to have a 'builder' pattern that never actually builds anything.)
New Build() method which (that?):
Validates that for every input to a test block, there is a corresponding type in the DI container, and execute method override, or a test block return.
Validation rules around execute method overrides so we can be deterministic in how we use them.
A set of execute method overrides must be equal to or fewer in number than the corresponding execute method parameters for a give test block
Every override must match a type of one of the corresponding parameters
Okay, I need to just get this reviewed and merged in and tackle the rest of the cleanup with smaller, more targeted PRs. Maintaining this branch is becoming cumbersome. :-|
Buttoning up a beta version of TestBuilder v2.
Draft PR as I'm still working on unit tests AND need to type up a description for what I think this code does.
TestBuilder.cs
--To finish--