Currently, the Batch Script track expects a single property to be implemented in a single .bat file. That works pretty well when an exercise only has a single property being tested like in Leap Year, but some exercises have multiple ones like Difference of Squares. In that exercise, the tests only test the final difference of squares, not the square of sums or sum of squares.
I’d like to propose a new convention where the test runner passes the property name as the first argument to :Assert like CALL :Assert squareOfSums 5. That argument gets passed to the student’s solution and then they can use GOTO to direct program execution to the appropriate section. Then they can either define the appropriate sections there if they want to keep everything as a single file or call out to helper Batch files as needed.
This would break existing solutions unfortunately, but it’d allow for much more flexibility and thorough testing.