@@ -0,0 +1,2147 @@
+/*%0A * Copyright 2019, Robert Dyer%0A *                 and Bowling Green State University%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 */%0Apackage boa.test.functions;%0A%0Aimport static boa.functions.BoaAstIntrinsics.prettyprint;%0Aimport static org.junit.Assert.assertEquals;%0Aimport static boa.functions.BoaAstIntrinsics.parse;%0A%0Aimport java.util.Arrays;%0Aimport java.util.Collection;%0A%0Aimport org.junit.Test;%0Aimport org.junit.runner.RunWith;%0Aimport org.junit.runners.Parameterized;%0Aimport org.junit.runners.Parameterized.Parameters;%0A%0A/**%0A * Test prettyprint().%0A *%0A * @author rdyer%0A */%0A@RunWith(Parameterized.class)%0Apublic class TestPrettyprint %7B%0A    private final static String CLASS_START = %22class c %7B%5Cn%22;%0A    private final static String CLASS_END = %22%7D%5Cn%22;%0A%0A    @Parameters%0A    public static Collection%3CString%5B%5D%3E code() %7B%0A        return Arrays.asList(new String%5B%5D%5B%5D%7B%0A            /* classes */%0A            %7B %22class c %7B%5Cn%7D%5Cn%22 %7D,%0A            %7B %22public class c %7B%5Cn%7D%5Cn%22 %7D,%0A            %7B %22class c extends d %7B%5Cn%7D%5Cn%22 %7D,%0A            %7B %22class c implements i1 %7B%5Cn%7D%5Cn%22 %7D,%0A            %7B %22class c implements i1, i2, i3 %7B%5Cn%7D%5Cn%22 %7D,%0A            %7B %22abstract static final private class c extends d implements i1, i2, i3 %7B%5Cn%7D%5Cn%22 %7D,%0A%0A            /* methods */%0A            %7B CLASS_START + %22%5Ctvoid m()%5Cn%5Ct%7B%5Cn%5Ct%7D%5Cn%22 + CLASS_END %7D,%0A            %7B CLASS_START + %22%5Ctint m()%5Cn%5Ct%7B%5Cn%5Ct%5Ctreturn 1;%5Cn%5Ct%7D%5Cn%22 + CLASS_END %7D,%0A        %7D);%0A    %7D%0A%0A    private String code;%0A%0A    public TestPrettyprint(final String code) %7B%0A        this.code = code;%0A    %7D%0A%0A    @Test()%0A    public void testPrettyprint() throws Exception %7B%0A        assertEquals(code, prettyprint(parse(code)));%0A    %7D%0A%7D%0A

add start of prettyprint() test suite