package arez;

import org.testng.annotations.Test;
import static org.testng.Assert.*;

public class ThrowableUtilTest
{
  @Test
  public void throwableToString()
    throws Exception
  {
    final String text = ThrowableUtil.throwableToString( new RuntimeException( "X" ) );
    assertTrue( text.startsWith( "java.lang.RuntimeException: X\n" ) );
  }
}

@@ -8,16 +8,44 @@
  arez;%0A%0A
+import java.io.IOException;%0A
 import o
@@ -371,11 +371,420 @@
 ) );%0A  %7D
+%0A%0A  @Test%0A  public void throwableToString_with_NestedThrowable()%0A    throws Exception%0A  %7B%0A    final RuntimeException exception =%0A      new RuntimeException( %22X%22, new IOException( %22Y%22 ) );%0A    final String text = ThrowableUtil.throwableToString( exception );%0A    assertTrue( text.startsWith( %22java.lang.RuntimeException: X%5Cn%22 ) );%0A    assertTrue( text.contains( %22%5CnCaused by: java.io.IOException: Y%5Cn%22 ) );%0A  %7D
 %0A%7D%0A

Add additional test coverage