Follow the Zero, One and Many rule

If your unit must deal with numbers, make sure you create sufficient test cases. A good rule thumb is that test cases covering 0, 1 and more than 1 are likely to be necessary. Edges cases that you might well also want to consider for algorithmic code are Integer.MAX and Integer.MIN etc.

Many common types have similar edge case values e.g empty Strings and Collections.

It likely that there will also be domain specific and type specific values that are also important to cover.