increase NotImplementedException test coverage as reported by clover

git-svn-id: https://svn.apache.org/repos/asf/jakarta/commons/proper/lang/trunk@234405 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Steven Caswell 2005-08-22 00:53:08 +00:00
parent 237ae10521
commit 40e8865efe
1 changed files with 97 additions and 0 deletions

View File

@ -15,6 +15,14 @@
*/
package org.apache.commons.lang;
import java.io.ByteArrayOutputStream;
import java.io.OutputStreamWriter;
import java.io.PrintStream;
import java.io.PrintWriter;
import java.io.StringWriter;
import org.apache.commons.lang.exception.NestableException;
import junit.framework.Test;
import junit.framework.TestCase;
import junit.framework.TestSuite;
@ -46,52 +54,141 @@ public class NotImplementedExceptionTest extends TestCase {
NotImplementedException ex = new NotImplementedException();
assertEquals("Code is not implemented", ex.getMessage());
assertEquals(null, ex.getCause());
assertEquals("Code is not implemented", ex.getMessage());
}
public void testConstructor_String1() {
NotImplementedException ex = new NotImplementedException((String) null);
assertEquals("Code is not implemented", ex.getMessage());
assertEquals(null, ex.getCause());
assertEquals("Code is not implemented", ex.getMessage());
}
public void testConstructor_String2() {
NotImplementedException ex = new NotImplementedException("msg");
assertEquals("msg", ex.getMessage());
assertEquals(null, ex.getCause());
assertEquals("msg", ex.getMessage());
}
public void testConstructor_Throwable1() {
NotImplementedException ex = new NotImplementedException((Throwable) null);
assertEquals("Code is not implemented", ex.getMessage());
assertEquals(null, ex.getCause());
assertEquals("Code is not implemented", ex.getMessage());
}
public void testConstructor_Throwable2() {
Exception npe = new NullPointerException();
NotImplementedException ex = new NotImplementedException(npe);
assertEquals("Code is not implemented", ex.getMessage());
assertSame(npe, ex.getCause());
assertEquals("Code is not implemented", ex.getMessage());
}
public void testConstructor_StringThrowable1() {
NotImplementedException ex = new NotImplementedException((String) null, (Throwable) null);
assertEquals("Code is not implemented", ex.getMessage());
assertEquals(null, ex.getCause());
assertEquals("Code is not implemented", ex.getMessage());
}
public void testConstructor_StringThrowable2() {
Exception npe = new NullPointerException();
NotImplementedException ex = new NotImplementedException("msg", npe);
assertEquals("msg", ex.getMessage());
assertSame(npe, ex.getCause());
assertEquals("msg", ex.getMessage());
}
public void testConstructor_Class1() {
NotImplementedException ex = new NotImplementedException((Class) null);
assertEquals("Code is not implemented", ex.getMessage());
assertEquals(null, ex.getCause());
assertEquals("Code is not implemented", ex.getMessage());
}
public void testConstructor_Class2() {
NotImplementedException ex = new NotImplementedException(String.class);
assertEquals("Code is not implemented in class java.lang.String", ex.getMessage());
assertEquals(null, ex.getCause());
assertEquals("Code is not implemented in class java.lang.String", ex.getMessage());
}
public void testGetMessage_Indexed() {
NotImplementedException ex = new NotImplementedException(new Exception("nested 1", new Exception("nested 2")));
assertEquals("Code is not implemented", ex.getMessage());
assertEquals("Code is not implemented", ex.getMessage(0));
assertEquals("nested 1", ex.getMessage(1));
assertEquals("nested 2", ex.getMessage(2));
String[] messages = ex.getMessages();
assertEquals(3, messages.length);
assertEquals("Code is not implemented", messages[0]);
assertEquals("nested 1", messages[1]);
assertEquals("nested 2", messages[2]);
}
public void testGetThrowable() {
NotImplementedException ex = new NotImplementedException(new NestableException("nested 1", new NestableException("nested 2")));
assertEquals(3, ex.getThrowableCount());
assertEquals(NotImplementedException.class, ex.getThrowable(0).getClass());
assertEquals("Code is not implemented", ex.getThrowable(0).getMessage());
assertEquals(NestableException.class, ex.getThrowable(1).getClass());
assertEquals("nested 1", ex.getThrowable(1).getMessage());
assertEquals(NestableException.class, ex.getThrowable(2).getClass());
assertEquals("nested 2", ex.getThrowable(2).getMessage());
assertEquals(3, ex.getThrowables().length);
assertEquals(NotImplementedException.class, ex.getThrowables()[0].getClass());
assertEquals("Code is not implemented", ex.getThrowables()[0].getMessage());
assertEquals(NestableException.class, ex.getThrowables()[1].getClass());
assertEquals("nested 1", ex.getThrowables()[1].getMessage());
assertEquals(NestableException.class, ex.getThrowables()[2].getClass());
assertEquals("nested 2", ex.getThrowables()[2].getMessage());
}
public void testIndexOfThrowable() {
NotImplementedException ex = new NotImplementedException(new NestableException("nested 1", new NestableException("nested 2")));
assertEquals(0, ex.indexOfThrowable(NotImplementedException.class));
assertEquals(1, ex.indexOfThrowable(NestableException.class));
}
public void testIndexOfThrowable_Index() {
NotImplementedException ex = new NotImplementedException(new NestableException("nested 1", new NestableException("nested 2")));
assertEquals(1, ex.indexOfThrowable(NestableException.class, 1));
}
public void testPrintStackTrace() {
NotImplementedException ex = new NotImplementedException(new NestableException("nested 1", new NestableException("nested 2")));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
PrintStream errStream = System.err;
System.setErr(ps);
ex.printStackTrace();
System.setErr(errStream);
assertTrue(baos.toString().length() > 0);
}
public void testPrintStackTrace_Stream() {
NotImplementedException ex = new NotImplementedException(new NestableException("nested 1", new NestableException("nested 2")));
ByteArrayOutputStream baos = new ByteArrayOutputStream();
PrintStream ps = new PrintStream(baos);
ex.printStackTrace(ps);
assertTrue(baos.toString().length() > 0);
}
public void testPrintStackTrace_Writer() {
NotImplementedException ex = new NotImplementedException(new NestableException("nested 1", new NestableException("nested 2")));
StringWriter stringWriter = new StringWriter();
PrintWriter writer = new PrintWriter(stringWriter);
ex.printStackTrace(writer);
assertTrue(stringWriter.toString().length() > 0);
}
public void testPrintPartialStackTrace_Writer() {
NotImplementedException ex = new NotImplementedException(new NestableException("nested 1", new NestableException("nested 2")));
StringWriter stringWriter = new StringWriter();
PrintWriter writer = new PrintWriter(stringWriter);
ex.printPartialStackTrace(writer);
assertTrue(stringWriter.toString().length() > 0);
}
}