It is very hard to understand what is actually going on here. One needs to read a lot of code and remember a pile of random details. I suggest using dedicated well named test methods that test one specific case, or at the very least naming the things in this data provider better so one does not have to find out what all the numbers actually mean.