assume you have a unit test that contains these lines
assertNotNull(someVal);
assertNotEmpty(someVal);
This obviously checks that someVal is not null and is populated with something.
The question is, is the first line necessary and does it add anything to the test? Should we not just have the second line, and if it's null it will throw a null pointer exception which still indicates a failing unit test (but not a failing assertion).
What's the best practice in such simple cases?