def test_acquire_locks_all_instances(self): lock1 = PTLock(self.__dummy_lock_id) lock2 = PTLock(self.__dummy_lock_id) lock1.acquire() for lock in (lock1, lock2): self.assertTrue(lock.is_locked()) lock1.release()
def test_is_locked_method(self): lock1 = PTLock(self.__dummy_lock_id) lock2 = PTLock(self.__dummy_lock_id) lock1.acquire() for lock in (lock1, lock2): self.assertTrue(lock.is_locked()) lock1.release() for lock in (lock1, lock2): self.assertFalse(lock.is_locked())
def test_acquire_locks_thread_until_unlocked(self): def acquire_lock(_lock: PTLock): _lock.acquire() lock = PTLock(self.__dummy_lock_id) lock.acquire() lock2 = PTLock(self.__dummy_lock_id) thread = Thread(target=acquire_lock, args=[lock2]) thread.start() self.assertTrue(thread.is_alive()) lock.release() thread.join() self.assertFalse(thread.is_alive())
def test_release_an_unlocked_lock_returns_false(self): lock = PTLock(self.__dummy_lock_id) self.assertFalse(lock.release())
def test_release_a_locked_lock_by_other_object_fails(self): lock1 = PTLock(self.__dummy_lock_id) self.assertTrue(lock1.acquire()) lock2 = PTLock(self.__dummy_lock_id) self.assertFalse(lock2.release())
def test_release_a_locked_lock_by_same_object_returns_true(self): lock = PTLock(self.__dummy_lock_id) self.assertTrue(lock.acquire()) self.assertTrue(lock.release())