unit tests for ISet

yes, i am working on it, i will write listener tests to another class and commit it this PR asap.