Evaluate each test name. Apply these checks in order:
a. Cryptic check: Flag if the name matches patterns like test\d+,
testA, testIt, test_it, or is a single generic word after the test
prefix.
b. Too-short check: Flag if the name (excluding framework prefix/wrapper)
contains fewer than 3 words (using camelCase, snake_case, or string
splitting for it("...") style names).
c. Abbreviation check: Flag if the name contains tokens of 3 or fewer
characters that are not common words (the, for, and, is, to,
it, a, an, of, in, on, or, no, not, be, by,
if, at, do, up).
d. Implementation-focus check: Flag if the name references
implementation verbs (calls, uses, invokes, creates, mocks,
stubs, spies) without describing the behavior.
e. Numbered check: Flag if the name ends with a numeric suffix that
distinguishes it from an otherwise identical sibling name.
f. Sentence check (strict mode only): Flag if the name, when expanded
from camelCase/snake_case, does not form a readable sentence with a
subject, condition, and expectation pattern (e.g.,
"returns error when input is empty").