@@ -0,0 +1,2151 @@
+package org.x2a.cutter;%0A%0Aimport org.junit.Assert;%0Aimport org.junit.Test;%0Aimport org.x2a.cutter.annotation.Cut;%0Aimport org.x2a.cutter.cut.JoinPoint;%0Aimport org.x2a.cutter.cut.Parameter;%0Aimport org.x2a.cutter.pointcut.AbstractPointCut;%0A%0Aimport java.lang.reflect.Method;%0A%0Apublic class TestCompoundAccess %7B%0A%0A    static class WrapperOne %7B%0A        static class WrapperTwo %7B%0A            static class WrapperThree %7B%0A                static class WrapperFour %7B%0A                    static class WrapperFive %7B%0A                        static class TestPC extends AbstractPointCut%3CString%3E %7B%0A                            public TestPC(JoinPoint joinPoint, Parameter%5B%5D parameters) %7B%0A                                super(joinPoint, parameters);%0A                            %7D%0A%0A                            @Override%0A                            public boolean before() %7B%0A                                return getParameterValue(0).equals(%22invoke%22);%0A                            %7D%0A%0A                            @Override%0A                            public String after(String aBoolean) %7B%0A                                return %22after%22;%0A                            %7D%0A%0A                            @Override%0A                            public String onSkip() %7B%0A                                return %22skipped%22;%0A                            %7D%0A                        %7D%0A                    %7D%0A                %7D%0A            %7D%0A        %7D%0A    %7D%0A%0A%0A%0A    @Cut(WrapperOne.WrapperTwo.WrapperThree.WrapperFour.WrapperFive.TestPC.class)%0A    private String methodToCut(String s) %7B%0A        return %22the real return%22;%0A    %7D%0A%0A%0A    @Test%0A    public void testCut() %7B%0A        Assert.assertEquals(%22the cut should've returned true%22, %22after%22, methodToCut(%22invoke%22));%0A    %7D%0A%0A    @Test%0A    public void testOnSkip() %7B%0A        Assert.assertEquals(%22onSkip should've been called and should've returned true%22, %22skipped%22, methodToCut(%22no%22));%0A    %7D%0A%0A    @Test%0A    public void testWrappedMethodExists() throws Exception %7B%0A        Method method = getClass().getDeclaredMethod(%22__wrapped__methodToCut%22, String.class);%0A        Assert.assertNotNull(method);%0A        Assert.assertFalse(method.isAccessible());%0A    %7D%0A%7D%0A

add more tests