Example guidelines
nWrite tests based on risk factor
nTests should be fully automatic
nTests should check their own results
nDon’t be a completionist
Here are some bits of advice on writing the tests.

It is not necessary to test all methods.  Test those that are most likely to fail.

You will run the tests often, so they should work automatically.  No user input is allowed.

Tests should be sophisticated enough to detect errors themselves.  The unit tester should not have to look over the output.

You can’t test everything.  Don’t forgo testing for lack of completeness.  Fowler’s advice is that it is better to write and run incomplete tests than not to run complete tests which are never finished.