1 32 package net.sf.retrotranslator.runtime.java.lang; 33 34 import junit.framework.TestCase; 35 36 39 public class _ThreadTestCase extends TestCase { 40 41 public void testGetStackTrace() throws Exception { 42 StackTraceElement [] stackTrace = Thread.currentThread().getStackTrace(); 43 String className = this.getClass().getName(); 44 StackTraceElement element = null; 45 for (int i = 1; i < stackTrace.length; i++) { 46 element = stackTrace[i]; 47 if (className.equals(element.getClassName())) break; 48 } 49 assertNotNull(element); 50 assertEquals("testGetStackTrace", element.getMethodName()); 51 for (StackTraceElement stackTraceElement : stackTrace) { 52 assertNotNull(stackTraceElement); 53 } 54 } 55 56 public void testGetId() throws Exception { 57 long currentId = Thread.currentThread().getId(); 58 assertTrue(currentId > 0); 59 Thread thread = new Thread (); 60 long newId = thread.getId(); 61 assertTrue(newId > 0); 62 assertTrue(currentId != newId); 63 assertEquals(currentId, Thread.currentThread().getId()); 64 assertEquals(newId, thread.getId()); 65 } 66 67 public void testGetId_Custom() throws Exception { 68 class MyThread extends Thread { 69 public int hashCode() { 70 return 0; 71 } 72 73 public boolean equals(Object obj) { 74 return true; 75 } 76 } 77 Thread thread1 = new MyThread(); 78 Thread thread2 = new MyThread(); 79 assertEquals(thread1.getId(), thread1.getId()); 80 assertEquals(thread2.getId(), thread2.getId()); 81 assertTrue(thread1.getId() != Thread.currentThread().getId()); 82 assertTrue(thread2.getId() != Thread.currentThread().getId()); 83 assertTrue(thread1.getId() != thread2.getId()); 84 } 85 } | Popular Tags |