unit tests for ISet

It isn't the name that needs to be changed :)

The issue is that the test can only fail successfully when a NPE is thrown by the remove method. But you are saying that the remove(null) should return false as well. You can have 2 ways to exit the same method call; either an exception or a return value.