package com.performizeit.mjprof.plugins.mappers.singlethread.stackframe; import com.performizeit.mjprof.plugins.mappers.singlethread.stackframe.StackFrame; import org.junit.Test; import static org.junit.Assert.*; public class StackFrameTest { @Test public void testStackFrame() { String frame = " at java.lang.ref.ReferenceQueue.remove(ReferenceQueue.java:142)"; StackFrame sf = new StackFrame(frame); assertEquals("java.lang.ref",sf.getPackageName()); assertEquals("ReferenceQueue",sf.getClassName()); assertEquals("remove",sf.getMethodName()); assertEquals("ReferenceQueue.java",sf.getFileName()); assertEquals("142",sf.getLineNum()); assertEquals(frame.trim(),sf.toString().trim()); } public void testStackFrameNoPackage() { String frame = " at ReferenceQueue.remove(ReferenceQueue.java:142)"; StackFrame sf = new StackFrame(frame); assertEquals("",sf.getPackageName()); assertEquals("ReferenceQueue",sf.getClassName()); assertEquals("remove",sf.getMethodName()); assertEquals("ReferenceQueue.java",sf.getFileName()); assertEquals("142",sf.getLineNum()); assertEquals(frame.trim(),sf.toString().trim()); } public void testStackFrameFileNameLine() { String frame = " at java.lang.ref.ReferenceQueue.remove"; StackFrame sf = new StackFrame(frame); assertEquals("java.lang.ref",sf.getPackageName()); assertEquals("ReferenceQueue",sf.getClassName()); assertEquals("remove",sf.getMethodName()); assertEquals("",sf.getFileName()); assertEquals("",sf.getLineNum()); assertEquals(frame.trim(),sf.toString().trim()); } public void testLockFrame() { String frame = " - locked <0x00000007801cbf58> (a java.lang.ref.ReferenceQueue$Lock)"; StackFrame sf = new StackFrame(frame); assertEquals("",sf.getPackageName()); assertEquals("",sf.getClassName()); assertEquals("",sf.getMethodName()); assertEquals("",sf.getFileName()); assertEquals("",sf.getLineNum()); assertEquals(frame.trim(),sf.toString().trim()); } }