package org.marketcetera.util.except; import org.junit.Test; import org.marketcetera.util.log.I18NBoundMessage1P; import static org.junit.Assert.*; /** * @author tlerios@marketcetera.com * @since 0.5.0 * @version $Id: I18NInterruptedExceptionTest.java 16154 2012-07-14 16:34:05Z colin $ */ /* $License$ */ public class I18NInterruptedExceptionTest extends I18NThrowableTestBase { private final static I18NThrowable[] ALL=new I18NThrowable[] { new I18NInterruptedException (new I18NBoundMessage1P(TestMessages.MID_EXCEPTION,MID_MSG_PARAM)), new I18NInterruptedException (new InterruptedException(), new I18NBoundMessage1P(TestMessages.MID_EXCEPTION,MID_MSG_PARAM)), new I18NException (new I18NBoundMessage1P(TestMessages.MID_EXCEPTION,MID_MSG_PARAM)), null }; @Test public void empty() { I18NInterruptedException ex=new I18NInterruptedException(); assertEquals(Messages.THREAD_INTERRUPTED,ex.getI18NBoundMessage()); assertNull(ex.getCause()); } @Test public void causeWithoutMessage() { InterruptedException nested=new InterruptedException(); I18NInterruptedException ex=new I18NInterruptedException(nested); assertEquals(Messages.THREAD_INTERRUPTED,ex.getI18NBoundMessage()); assertEquals(nested,ex.getCause()); } @Test public void myMessage() { myMessage (new Exception(TEST_MSG_1), new I18NInterruptedException (new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM)),ALL,0); } @Test public void myMessageAndCauseWithoutMessage() { InterruptedException nested=new InterruptedException(); myMessageAndCauseWithoutMessage (nested,new Exception(TEST_MSG_1,nested), new I18NInterruptedException (nested,new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM)),ALL,1); } @Test public void interruptionEmptyNoThrow() throws Exception { I18NInterruptedException.checkInterruption(); } @Test public void interruptionEmptyThrow() { Thread.currentThread().interrupt(); try { I18NInterruptedException.checkInterruption(); fail(); } catch (I18NInterruptedException ex) { assertTrue(Thread.interrupted()); assertEquals(ex.getDetail(),Messages.THREAD_INTERRUPTED, ex.getI18NBoundMessage()); assertNull(ex.getCause()); } } @Test public void interruptionNestedNoThrow() throws Exception { I18NInterruptedException.checkInterruption (new InterruptedException()); } @Test public void interruptionNestedThrow() { InterruptedException nested=new InterruptedException(); Thread.currentThread().interrupt(); try { I18NInterruptedException.checkInterruption(nested); fail(); } catch (I18NInterruptedException ex) { assertTrue(Thread.interrupted()); assertEquals(ex.getDetail(),Messages.THREAD_INTERRUPTED, ex.getI18NBoundMessage()); assertEquals(nested,ex.getCause()); } } @Test public void interruptionI18NMessageNoThrow() throws Exception { I18NInterruptedException.checkInterruption (new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM)); } @Test public void interruptionI18NMessageThrow() { Thread.currentThread().interrupt(); try { I18NInterruptedException.checkInterruption (new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM)); fail(); } catch (I18NInterruptedException ex) { assertTrue(Thread.interrupted()); assertEquals (ex.getDetail(), new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM), ex.getI18NBoundMessage()); assertNull(ex.getCause()); } } @Test public void interruptionI18NMessageNestedNoThrow() throws Exception { I18NInterruptedException.checkInterruption (new InterruptedException(), (new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM))); } @Test public void interruptionI18NMessageNestedThrow() { InterruptedException nested=new InterruptedException(); Thread.currentThread().interrupt(); try { I18NInterruptedException.checkInterruption (nested, (new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM))); fail(); } catch (I18NInterruptedException ex) { assertTrue(Thread.interrupted()); assertEquals (ex.getDetail(), new I18NBoundMessage1P (TestMessages.MID_EXCEPTION,MID_MSG_PARAM), ex.getI18NBoundMessage()); assertEquals(nested,ex.getCause()); } } }