/** Basic {@link ConcurrentIdBasedLockManager} test. */ @Test public void basicConcurrentLockManagerTest() { IdBasedLockManager<String> lockManager = new ConcurrentIdBasedLockManager<>(); Assert.assertNotNull(lockManager.getLocksIds()); Assert.assertEquals(0, lockManager.getLocksIds().size()); IdBasedLock<String> lock = lockManager.obtainLock(LOCK_ID); Assert.assertNotNull(lock); Assert.assertNotNull(lockManager.getLocksIds()); Assert.assertEquals(1, lockManager.getLocksIds().size()); Assert.assertNotNull(lockManager.getLocksIds().get(0)); Assert.assertEquals(LOCK_ID, lockManager.getLocksIds().get(0)); lock.lock(); try { Assert.assertEquals(LOCK_ID, lock.getId()); Assert.assertEquals(1, lock.getReferencesCount()); Assert.assertNotNull(lock.toString()); } finally { lock.unlock(); } Assert.assertNotNull(lockManager.getLocksIds()); Assert.assertEquals(0, lockManager.getLocksIds().size()); }