@Test
public void testOneWriterAtATime() throws InterruptedException {

	final Lock testLock = new LockMRPlusSW();
	testLock.enterCriticalSection(false);
	final AtomicBoolean secondWriterHasLock = new AtomicBoolean();
	// new writer
	defaultThreadFactory().newThread(() -> {
		testLock.enterCriticalSection(false);
		secondWriterHasLock.set(true);
	}).start();
	sleep(5000);
	assertFalse("Multiple writers were allowed!", secondWriterHasLock.get());
}