package org.threadly.concurrent; import static org.junit.Assert.*; import org.junit.Test; import org.threadly.test.concurrent.TestRunnable; @SuppressWarnings("javadoc") public class RunnableCallableAdapterTest { @Test public void constructorTest() { TestRunnable tr = new TestRunnable(); Object result = new Object(); RunnableCallableAdapter<?> rca = new RunnableCallableAdapter<>(tr, result); assertTrue(tr == rca.runnable); assertTrue(result == rca.result); } @SuppressWarnings("unused") @Test (expected = IllegalArgumentException.class) public void constructorFail() { new RunnableCallableAdapter<>(null); fail("Exception should have thrown"); } @Test public void getContainedRunnableTest() { TestRunnable tr = new TestRunnable(); RunnableCallableAdapter<?> rca = new RunnableCallableAdapter<>(tr); assertTrue(tr == rca.getContainedRunnable()); } @Test public void callTest() { TestRunnable tr = new TestRunnable(); Object result = new Object(); RunnableCallableAdapter<?> rca = new RunnableCallableAdapter<>(tr, result); assertTrue(result == rca.call()); assertTrue(tr.ranOnce()); } }