Lol, declarations of that type are interpretted back to front.
int array[5] would be a pointer to the first int of five.
int array[5][10] would be a pointer to the first integer array with length 10, of five integer arrays.
Think of it as if it had parentheses around it:
(tests [] ) [MAX_TESTS];
In fact, parentheses wouldn't be illegal (nor is the whitespace); the compiler should see it the same way.