ac5d1a5f

By: Tom Sydney Kerckhove <syd@cs-syd.eu>

Add structural invariant tests for register blocks

For every single-currency register test case, assert:
- Running average at block i equals runningTotal / i
- Running total equals cumulative sum of block totals
- Block titles are in strictly increasing order
- Empty blocks have zero total and same running total as previous

These tests verify the register logic independently of golden text
output, catching bugs even when golden files are reset.