package net.bytebuddy.agent.builder; import net.bytebuddy.test.utility.ObjectPropertyAssertion; import org.junit.Test; import static org.hamcrest.CoreMatchers.is; import static org.hamcrest.CoreMatchers.nullValue; import static org.hamcrest.MatcherAssert.assertThat; public class AgentBuilderCircularityLockTest { @Test public void testCircularityLockDefault() throws Exception { AgentBuilder.CircularityLock.Default circularityLock = new AgentBuilder.CircularityLock.Default(); assertThat(circularityLock.acquire(), is(true)); assertThat(circularityLock.acquire(), is(false)); circularityLock.release(); assertThat(circularityLock.acquire(), is(true)); assertThat(circularityLock.acquire(), is(false)); circularityLock.release(); assertThat(circularityLock.get(), nullValue(Boolean.class)); } @Test public void testCircularityLockInactive() throws Exception { AgentBuilder.CircularityLock circularityLock = AgentBuilder.CircularityLock.Inactive.INSTANCE; assertThat(circularityLock.acquire(), is(true)); assertThat(circularityLock.acquire(), is(true)); circularityLock.release(); } @Test public void testObjectProperties() throws Exception { ObjectPropertyAssertion.of(AgentBuilder.CircularityLock.Inactive.class).apply(); } }