package org.springside.modules.utils.concurrent;
import static org.assertj.core.api.Assertions.*;
import org.junit.Test;
import org.springside.modules.utils.base.ObjectUtil;
public class ThreadUtilTest {
@Test
public void testCaller(){
hello();
new MyClass().hello();
assertThat(ThreadUtil.getCurrentClass()).isEqualTo("org.springside.modules.utils.concurrent.ThreadUtilTest");
assertThat(ThreadUtil.getCurrentMethod()).isEqualTo("org.springside.modules.utils.concurrent.ThreadUtilTest.testCaller()");
}
private void hello(){
assertThat(ThreadUtil.getCallerClass()).isEqualTo("org.springside.modules.utils.concurrent.ThreadUtilTest");
assertThat(ThreadUtil.getCallerMethod()).isEqualTo("org.springside.modules.utils.concurrent.ThreadUtilTest.testCaller()");
StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace();
System.out.println(ObjectUtil.toPrettyString(stacktrace));
}
public static class MyClass{
public void hello(){
assertThat(ThreadUtil.getCallerClass()).isEqualTo("org.springside.modules.utils.concurrent.ThreadUtilTest");
assertThat(ThreadUtil.getCallerMethod()).isEqualTo("org.springside.modules.utils.concurrent.ThreadUtilTest.testCaller()");
StackTraceElement[] stacktrace = Thread.currentThread().getStackTrace();
System.out.println(ObjectUtil.toPrettyString(stacktrace));
}
}
}