package voldemort.utils;
import org.junit.Assert;
import org.junit.Test;
import voldemort.VoldemortException;
import java.io.IOException;
import java.net.ConnectException;
public class ExceptionUtilsTest {
@Test
public void testRecursiveClassEquals() {
Assert.assertTrue(
"recursiveClassEquals should recognize the top-level exception.",
ExceptionUtils.recursiveClassEquals(
new VoldemortException("blah", new IOException("bleh")),
VoldemortException.class));
Assert.assertFalse(
"recursiveClassEquals should NOT recognize the exception.",
ExceptionUtils.recursiveClassEquals(
new VoldemortException("blah", new IOException("bleh")),
NullPointerException.class));
Assert.assertTrue(
"recursiveClassEquals should recognize a nested exception.",
ExceptionUtils.recursiveClassEquals(
new VoldemortException("blah", new IOException("bleh")),
IOException.class));
Assert.assertTrue(
"recursiveClassEquals should recognize a nested exception which is the child of the class we're looking for.",
ExceptionUtils.recursiveClassEquals(
new VoldemortException("blah", new ConnectException("bleh")),
IOException.class));
Assert.assertFalse(
"recursiveClassEquals should NOT recognize a nested exception which is the parent of the class we're looking for.",
ExceptionUtils.recursiveClassEquals(
new VoldemortException("blah", new IOException("bleh")),
ConnectException.class));
}
}