@@ -0,0 +1,4016 @@
+/* This file is part of SableCC (http://sablecc.org/).%0A * %0A * See the NOTICE file distributed with this work for copyright information.%0A *%0A * Licensed under the Apache License, Version 2.0 (the %22License%22);%0A * you may not use this file except in compliance with the License.%0A * You may obtain a copy of the License at%0A *%0A *     http://www.apache.org/licenses/LICENSE-2.0%0A *%0A * Unless required by applicable law or agreed to in writing, software%0A * distributed under the License is distributed on an %22AS IS%22 BASIS,%0A * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.%0A * See the License for the specific language governing permissions and%0A * limitations under the License.%0A */%0A%0Apackage org.sablecc.sablecc.alphabet;%0A%0Aimport static org.junit.Assert.assertEquals;%0Aimport static org.junit.Assert.fail;%0A%0Aimport org.junit.Test;%0Aimport org.sablecc.sablecc.exception.InternalException;%0A%0Apublic class InternalExceptionTest %7B%0A%0A    @Test%0A    @SuppressWarnings(%22unused%22)%0A    public void testInternalExceptionString() %7B%0A%0A        // Initializing a good internal exception.%0A        InternalException goodInternalException = new InternalException(%0A                %22Not null%22);%0A%0A        // Testing no thrown exception when the message is not null.%0A        try %7B%0A            goodInternalException = new InternalException(%22Valid message%22);%0A        %7D%0A        catch (InternalException e) %7B%0A            fail(%22InternalException not expected here.%22);%0A        %7D%0A%0A        // Testing thrown exception when the message is null.%0A        try %7B%0A            InternalException nullMessageInternalException = new InternalException(%0A                    null);%0A            fail(%22An InternalException should be thrown.%22);%0A        %7D%0A        catch (InternalException e) %7B%0A            // Expected%0A        %7D%0A%0A        // Verifying validity provided message is taken correctly.%0A        assertEquals(%22Invalid exception message%22, %22Valid message%22,%0A                goodInternalException.getMessage());%0A    %7D%0A%0A    @Test%0A    @SuppressWarnings(%22unused%22)%0A    public void testInternalExceptionStringThrowable() %7B%0A%0A        Throwable cause = new Throwable();%0A%0A        // Initializing a good internal exception.%0A        InternalException goodInternalException = new InternalException(%0A                %22Not null%22, cause);%0A%0A        // Testing no thrown exception when message and cause not null.%0A        try %7B%0A            goodInternalException = new InternalException(%22Valid message%22,%0A                    cause);%0A        %7D%0A        catch (InternalException e) %7B%0A            fail(%22InternalException not expected here.%22);%0A        %7D%0A%0A        // Testing thrown exception when message is null, cause is good.%0A        try %7B%0A            InternalException nullMessageInternalException = new InternalException(%0A                    null, cause);%0A            fail(%22An InternalException should be thrown.%22);%0A        %7D%0A        catch (InternalException e) %7B%0A            // Expected%0A        %7D%0A%0A        // Testing thrown exception when cause is null, message is good.%0A        try %7B%0A            InternalException nullCauseInternalException = new InternalException(%0A                    %22Message%22, null);%0A            fail(%22An InternalException should be thrown.%22);%0A        %7D%0A        catch (InternalException e) %7B%0A            // Expected%0A        %7D%0A%0A        // Testing thrown exception when message and cause are null.%0A        try %7B%0A            InternalException nullMessageAndCauseInternalException = new InternalException(%0A                    null, null);%0A            fail(%22An InternalException should be thrown.%22);%0A        %7D%0A        catch (InternalException e) %7B%0A            // Expected%0A        %7D%0A%0A        // Verifying validity provided message is taken correctly.%0A        assertEquals(%22Invalid exception message%22, %22Valid message%22,%0A                goodInternalException.getMessage());%0A%0A        // Verifying validity provided message is taken correctly.%0A        assertEquals(%22Invalid exception cause%22, cause, goodInternalException%0A                .getCause());%0A%0A    %7D%0A%0A%7D%0A

Add JUnit tests for InternalException.