Use the t.Run subtest form. This assists debugging by printing the name of
the table entry without additional parameters to t.Log and t.Error later on.
It also means that the -run and -bench flags can be used to filter a specific
test without excessive comment-and-rebuild cycles.
Prefer to construct the subtest’s name from the test parameters with
fmt.Sprintf, otherwise use a name field.
When comparing results, use deep.Equal. The parameter order should always be
expected, then observed. This makes the diff output read like “the observed
value is not equal to the expected value.”
If there is a non-nil diff result, emit it with t.Error(diff). If multiple
diffs are emitted in a single test, prefix the emission with a t.Log of the
name of the result variable or function under test.