unit test for Semaphore

Check 
https://hazelcast.atlassian.net/wiki/display/EN/Testing+Practices
One test per test method

So don't test the init, if you are testing the acquire. If you don't trust the init (good be a good reason for that), then add more tests for the init. But once the init is tested well, you should rely on it, without needing to assert it.