package org.threadly.util.debug; import static org.junit.Assert.*; import org.junit.Test; @SuppressWarnings("javadoc") public class ProfilerTraceTest { @Test public void equalsSameObjectTest() { StackTraceElement[] stack = Thread.currentThread().getStackTrace(); Profiler.Trace t1 = new Profiler.Trace(stack); assertTrue(t1.equals(t1)); } @Test public void equalsEquivelentTest() { StackTraceElement[] stack = Thread.currentThread().getStackTrace(); Profiler.Trace t1 = new Profiler.Trace(stack); Profiler.Trace t2 = new Profiler.Trace(stack); assertTrue(t1.equals(t2)); } @Test public void equalsDiffStackTest() { StackTraceElement[] stack1 = Thread.currentThread().getStackTrace(); Profiler.Trace t1 = new Profiler.Trace(stack1); StackTraceElement[] stack2 = new StackTraceElement[stack1.length - 1]; System.arraycopy(stack1, 0, stack2, 0, stack2.length); Profiler.Trace t2 = new Profiler.Trace(stack2); assertFalse(t1.equals(t2)); } @Test public void equalsDiffObjectTest() { StackTraceElement[] stack1 = Thread.currentThread().getStackTrace(); Profiler.Trace t1 = new Profiler.Trace(stack1); assertFalse(t1.equals(new Object())); } @Test public void compareToEqualsTest() { StackTraceElement[] stack = Thread.currentThread().getStackTrace(); Profiler.Trace t1 = new Profiler.Trace(stack); Profiler.Trace t2 = new Profiler.Trace(stack); assertEquals(0, t1.compareTo(t2)); } @Test public void compareToNotEqualsTest() { StackTraceElement[] stack1 = Thread.currentThread().getStackTrace(); Profiler.Trace t1 = new Profiler.Trace(stack1); StackTraceElement[] stack2 = new StackTraceElement[stack1.length - 1]; System.arraycopy(stack1, 0, stack2, 0, stack2.length); Profiler.Trace t2 = new Profiler.Trace(stack2); assertFalse(t1.compareTo(t2) == 0); } }