// Path: src/main/java/com/tiemens/secretshare/exceptions/SecretShareException.java
// public class SecretShareException
//     extends RuntimeException
// {
//     // ==================================================
//     // class static data
//     // ==================================================
// 
//     private static final long serialVersionUID = 2193317873773384997L;
// 
//     // ==================================================
//     // class static methods
//     // ==================================================
// 
// 
// 
//     // ==================================================
//     // instance data
//     // ==================================================
// 
//     // ==================================================
//     // factories
//     // ==================================================
// 
//     // ==================================================
//     // constructors
//     // ==================================================
// 
// 
//     /** Constructs a new runtime exception with the specified detail message.
//      * The cause is not initialized, and may subsequently be initialized by a
//      * call to {@link #initCause}.
//      *
//      * @param   message   the detail message. The detail message is saved for
//      *          later retrieval by the {@link #getMessage()} method.
//      */
//     public SecretShareException(final String message)
//     {
//         super(message);
//     }
// 
//     /**
//      * Constructs a new runtime exception with the specified detail message and
//      * cause.  <p>Note that the detail message associated with
//      * <code>cause</code> is <i>not</i> automatically incorporated in
//      * this runtime exception's detail message.
//      *
//      * @param  message the detail message (which is saved for later retrieval
//      *         by the {@link #getMessage()} method).
//      * @param  cause the cause (which is saved for later retrieval by the
//      *         {@link #getCause()} method).  (A <code>null</code> value is
//      *         permitted, and indicates that the cause is nonexistent or
//      *         unknown.)
//      */
//     public SecretShareException(final String message,
//                                 final Throwable cause)
//     {
//         super(message, cause);
//     }
// 
//     // ==================================================
//     // public methods
//     // ==================================================
// 
//     // ==================================================
//     // non public methods
//     // ==================================================
// }


import java.math.BigInteger;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.junit.Assert;
import org.junit.Test;
import com.tiemens.secretshare.exceptions.SecretShareException;

        subTestCaseSensitivity(origPart1, origPart2, origPart3, origPart4);

        subTestCaseSensitivity(origPart1.toUpperCase(), origPart2, origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2.toUpperCase(), origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2, origPart3.toUpperCase(), origPart4);
        subTestCaseSensitivity(origPart1, origPart2, origPart3, origPart4.toUpperCase());
        subTestCaseSensitivity(origPart1.toUpperCase(), origPart2.toUpperCase(),
                               origPart3.toUpperCase(), origPart4.toUpperCase());

        subTestCaseSensitivity(origPart1.toLowerCase(), origPart2, origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2.toLowerCase(), origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2, origPart3.toLowerCase(), origPart4);
        subTestCaseSensitivity(origPart1.toLowerCase(), origPart2.toLowerCase(),
                               origPart3.toLowerCase(), origPart4.toLowerCase());

    }
    // ==================================================
    // non public methods
    // ==================================================


    private void subTestCaseSensitivity(String part1, String part2, String part3, String part4)
    {
        final String input = part1 + part2 + part3 + part4;
        try
        {
            BigInteger ret = BigIntUtilities.Checksum.createBigInteger(input);
            Assert.assertNotNull(ret);
        }
// Path: src/main/java/com/tiemens/secretshare/exceptions/SecretShareException.java
// public class SecretShareException
//     extends RuntimeException
// {
//     // ==================================================
//     // class static data
//     // ==================================================
// 
//     private static final long serialVersionUID = 2193317873773384997L;
// 
//     // ==================================================
//     // class static methods
//     // ==================================================
// 
// 
// 
//     // ==================================================
//     // instance data
//     // ==================================================
// 
//     // ==================================================
//     // factories
//     // ==================================================
// 
//     // ==================================================
//     // constructors
//     // ==================================================
// 
// 
//     /** Constructs a new runtime exception with the specified detail message.
//      * The cause is not initialized, and may subsequently be initialized by a
//      * call to {@link #initCause}.
//      *
//      * @param   message   the detail message. The detail message is saved for
//      *          later retrieval by the {@link #getMessage()} method.
//      */
//     public SecretShareException(final String message)
//     {
//         super(message);
//     }
// 
//     /**
//      * Constructs a new runtime exception with the specified detail message and
//      * cause.  <p>Note that the detail message associated with
//      * <code>cause</code> is <i>not</i> automatically incorporated in
//      * this runtime exception's detail message.
//      *
//      * @param  message the detail message (which is saved for later retrieval
//      *         by the {@link #getMessage()} method).
//      * @param  cause the cause (which is saved for later retrieval by the
//      *         {@link #getCause()} method).  (A <code>null</code> value is
//      *         permitted, and indicates that the cause is nonexistent or
//      *         unknown.)
//      */
//     public SecretShareException(final String message,
//                                 final Throwable cause)
//     {
//         super(message, cause);
//     }
// 
//     // ==================================================
//     // public methods
//     // ==================================================
// 
//     // ==================================================
//     // non public methods
//     // ==================================================
// }


// Path: src/test/java/com/tiemens/secretshare/math/type/BigIntUtilitiesTest.java
import java.math.BigInteger;
import java.security.NoSuchAlgorithmException;
import java.security.SecureRandom;
import java.util.HashMap;
import java.util.Map;
import java.util.Random;
import org.junit.Assert;
import org.junit.Test;
import com.tiemens.secretshare.exceptions.SecretShareException;


        subTestCaseSensitivity(origPart1, origPart2, origPart3, origPart4);

        subTestCaseSensitivity(origPart1.toUpperCase(), origPart2, origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2.toUpperCase(), origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2, origPart3.toUpperCase(), origPart4);
        subTestCaseSensitivity(origPart1, origPart2, origPart3, origPart4.toUpperCase());
        subTestCaseSensitivity(origPart1.toUpperCase(), origPart2.toUpperCase(),
                               origPart3.toUpperCase(), origPart4.toUpperCase());

        subTestCaseSensitivity(origPart1.toLowerCase(), origPart2, origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2.toLowerCase(), origPart3, origPart4);
        subTestCaseSensitivity(origPart1, origPart2, origPart3.toLowerCase(), origPart4);
        subTestCaseSensitivity(origPart1.toLowerCase(), origPart2.toLowerCase(),
                               origPart3.toLowerCase(), origPart4.toLowerCase());

    }
    // ==================================================
    // non public methods
    // ==================================================


    private void subTestCaseSensitivity(String part1, String part2, String part3, String part4)
    {
        final String input = part1 + part2 + part3 + part4;
        try
        {
            BigInteger ret = BigIntUtilities.Checksum.createBigInteger(input);
            Assert.assertNotNull(ret);
        }
        catch (SecretShareException e)