/**
 * 
 */
package com.github.podd.exception.test;

import junit.framework.Assert;

import org.junit.Test;
import org.mockito.Mockito;
import org.openrdf.model.URI;

import com.github.podd.api.purl.PoddPurlProcessor;
import com.github.podd.exception.PurlProcessorNotHandledException;

/**
 * Tests that the PurlProcessorNotHandledException correctly manages its internal content.
 * 
 * @author kutila
 */
public class PurlProcessorNotHandledExceptionTest
{
    
    @Test
    public void testPurlGeneratorNotHandledException() throws Exception
    {
        final PoddPurlProcessor thePurlProcessor = Mockito.mock(PoddPurlProcessor.class);
        final URI failedUri = Mockito.mock(URI.class);
        final String message = "Exception with mocked up internals";
        
        final PurlProcessorNotHandledException theException =
                new PurlProcessorNotHandledException(thePurlProcessor, failedUri, message);
        
        Assert.assertNotNull(theException.getGenerator());
        Assert.assertEquals(failedUri, theException.getInputUri());
        Assert.assertEquals(message, theException.getMessage());
    }
    
}

@@ -491,638 +491,2176 @@
 test
-PurlGeneratorNotHandledException() throws Exception%0A    %7B%0A        final PoddPurlProcessor thePurlProcessor = Mockito.mock(PoddPurlProcessor.class);%0A        final URI failedUri = Mockito.mock(URI.class);%0A        final String message = %22Exception with mocked up internals%22;%0A        %0A        final PurlProcessorNotHandledException theException =%0A                new PurlProcessorNotHandledException(thePurlProcessor, failedUri, message);%0A        %0A        Assert.assertNotNull(theException.getGenerator());%0A        Assert.assertEquals(failedUri, theException.getInputUri());%0A        Assert.assertEquals(message, theException.getMessag
+ConstructorWithProcessorUriMessageThrowable() throws Exception%0A    %7B%0A        final PoddPurlProcessor thePurlProcessor = Mockito.mock(PoddPurlProcessor.class);%0A        final URI failedUri = Mockito.mock(URI.class);%0A        final String message = %22Exception with mocked up internals%22;%0A        final Exception rootCause = new Exception(%22root cause exception%22);%0A        %0A        final PurlProcessorNotHandledException theException =%0A                new PurlProcessorNotHandledException(thePurlProcessor, failedUri, message, rootCause);%0A        %0A        Assert.assertNotNull(theException.getGenerator());%0A        Assert.assertEquals(failedUri, theException.getInputUri());%0A        Assert.assertEquals(message, theException.getMessage());%0A        Assert.assertEquals(rootCause, theException.getCause());%0A    %7D%0A    %0A    @Test%0A    public void testConstructorWithProcessorUriMessage() throws Exception%0A    %7B%0A        final PoddPurlProcessor thePurlProcessor = Mockito.mock(PoddPurlProcessor.class);%0A        final URI failedUri = Mockito.mock(URI.class);%0A        final String message = %22Exception with mocked up internals%22;%0A        %0A        final PurlProcessorNotHandledException theException =%0A                new PurlProcessorNotHandledException(thePurlProcessor, failedUri, message);%0A        %0A        Assert.assertNotNull(theException.getGenerator());%0A        Assert.assertEquals(failedUri, theException.getInputUri());%0A        Assert.assertEquals(message, theException.getMessage());%0A    %7D%0A    %0A    @Test%0A    public void testConstructorWithProcessorUriThrowable() throws Exception%0A    %7B%0A        final PoddPurlProcessor thePurlProcessor = Mockito.mock(PoddPurlProcessor.class);%0A        final URI failedUri = Mockito.mock(URI.class);%0A        final Exception rootCause = new Exception(%22root cause of this exception%22);%0A        %0A        final PurlProcessorNotHandledException theException =%0A                new PurlProcessorNotHandledException(thePurlProcessor, failedUri, rootCause);%0A        %0A        Assert.assertNotNull(theException.getGenerator());%0A        Assert.assertEquals(failedUri, theException.getInputUri());%0A        Assert.assertEquals(rootCause, theException.getCaus
 e())

add 2 more simple tests to complete code coverage