/**
 * CS-20J  Asn02
 * DecimalPalTest.java
 * Purpose: Unit test of the DecimalPalindrome class.
 *
 * @version 1.0 9/07/03
 * @author Ed Parrish
 */
public final class DecimalPalTest {
    /**
     * Private constructor to prevent instantiating this utility class.
     */
    private DecimalPalTest() { }

    /**
     * The main method begins execution of the tests.
     *
     * @param args not used
     */
    public static void main(final String[] args) {
        testIsDecimalPalindrome();
        System.out.println("*** All tests passed ***");
    }

    /**
     * Convenience method to test for assertions.
     *
     * @param condition The test condition that must be true to pass.
     * @param message The reason for the failure.
     */
    public static void assertTrue(boolean condition, String message) {
        if (!condition) {
            throw new RuntimeException(message);
        }
    }

    /**
     * Test method: boolean isDecimalPalindrome(double)
     */
    public static void testIsDecimalPalindrome() {
        System.out.println("Testing isDecimalPalindrome");
        double number = 12345.54321;
        assertTrue(DecimalPalindrome.isDecimalPalindrome(number),
            "Valid number fails:" + number);
        number = 23234.43232;
        assertTrue(DecimalPalindrome.isDecimalPalindrome(number),
            "Valid number fails:" + number);
        number = 12345.54221;
        assertTrue(!DecimalPalindrome.isDecimalPalindrome(number),
            "Invalid number passes:" + number);
    }
}

