/* * Copyright(c) 2005 Center for E-Commerce Infrastructure Development, The * University of Hong Kong (HKU). All Rights Reserved. * * This software is licensed under the GNU GENERAL PUBLIC LICENSE Version 2.0 [1] * * [1] http://www.gnu.org/licenses/old-licenses/gpl-2.0.txt */ package hk.hku.cecid.piazza.commons.test.asserts; import java.text.MessageFormat; /** * * The <code>BasicAsserts</code> is * * @author Twinsen * @version 1.0.0 * @since JDK5.0, H2O 0908 * */ public class BasicAsserts { private static BasicAsserts singleton = new BasicAsserts(); /* * Private constructor to prevent singleton pattern break. */ private BasicAsserts() { } /* * Get the singleton assertion object. */ private static BasicAsserts getInstance() { return singleton; } /** * * @param message * @param expected * @param actual */ private void assertWrappedThrowableEquals0(String message, Class<? extends Throwable> expected, Throwable actual) { if (message == null) { message = "wrapped throwable does not equal "; } if (actual == null) { throw new AssertionError(MessageFormat.format(AssertsUtilities.INPUT_REQUIRED, "throwable:actual")); } if (expected == null) { throw new AssertionError(MessageFormat.format(AssertsUtilities.INPUT_REQUIRED, "throwable:expected")); } Throwable wrappedThrowable = actual.getCause(); if (wrappedThrowable == null) { throw new AssertionError(MessageFormat.format(AssertsUtilities.INPUT_REQUIRED, "wrapped throwable")); } if (!wrappedThrowable.getClass().equals(expected)) { throw new AssertionError(AssertsUtilities.buildExpectationError(message, expected, actual)); } } /** * * @param expected * @param actual */ public static void assertWrappedThrowableEquals(Class<? extends Throwable> expected, Throwable actual) { BasicAsserts.getInstance().assertWrappedThrowableEquals0(null, expected, actual); } /** * * @param message * @param expected * @param actual */ public static void assertWrappedThrowableEquals(String message, Class<? extends Throwable> expected, Throwable actual) { BasicAsserts.getInstance().assertWrappedThrowableEquals0(message, expected, actual); } }