I'm not yet sure if I like this form of testing. This method is complex enough that it's easy to make a mistake, maybe even the same mistake the class that is tested contains.
I would have preferred testing with static input and expected output, but I realize that there are a lots of inputs to test, so maybe this is the best compromise.
In any case this is vastly better than what we had before. So thanks a lot for that!