1 22 package org.jboss.test.aop.jdk15.dynamic.prepareAll; 23 24 import org.jboss.test.aop.AOPTestDelegate; 25 import org.jboss.test.aop.AOPTestWithSetup; 26 import org.jboss.test.aop.jdk15.dynamic.common.BindingInterceptor; 27 import org.jboss.test.aop.jdk15.dynamic.common.InstanceInterceptor; 28 import org.jboss.test.aop.jdk15.dynamic.common.InterceptionsCount; 29 import org.jboss.test.aop.jdk15.dynamic.common.POJOWrappingInfo; 30 import org.jboss.test.aop.jdk15.dynamic.common.ScenarioLoader; 31 32 38 public class HotSwapDisabledTester extends AOPTestWithSetup 39 { 40 private ScenarioLoader scenarioLoader; 41 42 public HotSwapDisabledTester(String name) 43 { 44 super(name); 45 } 46 49 public void setUp() throws Exception 50 { 51 super.setUp(); 52 this.scenarioLoader = new ScenarioLoader(((AOPTestDelegate)getDelegate()).getSystemProperties()); 53 } 54 55 59 private void assertFullyWrapped(POJOWrappingInfo[] wrappingInfos) throws Exception 60 { 61 for (int i = 0; i < wrappingInfos.length; i++) 62 { 63 assertTrue(wrappingInfos[i].isConstructorWrapped()); 64 assertTrue(wrappingInfos[i].isFieldReadWrapped()); 65 assertTrue(wrappingInfos[i].isFieldWriteWrapped()); 66 assertTrue(wrappingInfos[i].isMethodWrapped()); 67 } 68 } 69 70 76 public void testPerClassLoadAfterInterception() throws Throwable 77 { 78 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerClassLoadAfter(); 80 assertFullyWrapped(wrappingInfos); 82 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 84 assertEquals(0, instance.total); 85 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 86 assertEquals(8, binding.total); 87 assertEquals(2, binding.constructor); 88 assertEquals(2, binding.fieldRead); 89 assertEquals(2, binding.fieldWrite); 90 assertEquals(2, binding.method); 91 } 92 93 99 public void testPerClassLoadBeforeInterception() throws Throwable 100 { 101 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerClassLoadBefore(); 103 assertFullyWrapped(wrappingInfos); 105 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 107 assertEquals(0, instance.total); 108 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 109 assertEquals(4, binding.total); 110 assertEquals(1, binding.constructor); 111 assertEquals(1, binding.fieldRead); 112 assertEquals(1, binding.fieldWrite); 113 assertEquals(1, binding.method); 114 } 115 116 122 public void testAddAndRemoveBindingTwice() throws Throwable 123 { 124 POJOWrappingInfo[] wrappingInfos = scenarioLoader.addAndRemoveBindingTwice(); 126 assertFullyWrapped(wrappingInfos); 128 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 130 assertEquals(0, instance.total); 131 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 132 assertEquals(8, binding.total); 133 assertEquals(2, binding.constructor); 134 assertEquals(2, binding.fieldRead); 135 assertEquals(2, binding.fieldWrite); 136 assertEquals(2, binding.method); 137 } 138 139 145 public void testPerInstanceInterception() throws Throwable 146 { 147 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerInstance(); 149 assertFullyWrapped(wrappingInfos); 151 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 153 assertEquals(0, binding.total); 154 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 155 assertEquals(6, instance.total); 156 assertEquals(0, instance.constructor); 157 assertEquals(2, instance.fieldRead); 158 assertEquals(2, instance.fieldWrite); 159 assertEquals(2, instance.method); 160 } 161 162 168 public void testPerInstanceGcInterception() throws Throwable 169 { 170 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerInstanceGC(); 172 assertFullyWrapped(wrappingInfos); 174 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 176 assertEquals(0, binding.total); 177 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 178 assertEquals(6, instance.total); 179 assertEquals(0, instance.constructor); 180 assertEquals(2, instance.fieldRead); 181 assertEquals(2, instance.fieldWrite); 182 assertEquals(2, instance.method); 183 } 184 185 191 public void testPerClassPerInstanceInterception() throws Throwable 192 { 193 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerClassPerInstance(); 195 assertFullyWrapped(wrappingInfos); 197 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 199 assertEquals(4, binding.total); 200 assertEquals(1, binding.constructor); 201 assertEquals(1, binding.fieldRead); 202 assertEquals(1, binding.fieldWrite); 203 assertEquals(1, binding.method); 204 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 205 assertEquals(3, instance.total); 206 assertEquals(0, instance.constructor); 207 assertEquals(1, instance.fieldRead); 208 assertEquals(1, instance.fieldWrite); 209 assertEquals(1, instance.method); 210 } 211 212 218 public void testPerInstancePerClassInterception() throws Throwable 219 { 220 POJOWrappingInfo[] wrappingInfos = scenarioLoader.interceptPerInstancePerClass(); 222 assertFullyWrapped(wrappingInfos); 224 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 226 assertEquals(4, binding.total); 227 assertEquals(1, binding.constructor); 228 assertEquals(1, binding.fieldRead); 229 assertEquals(1, binding.fieldWrite); 230 assertEquals(1, binding.method); 231 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 232 assertEquals(9, instance.total); 233 assertEquals(0, instance.constructor); 234 assertEquals(3, instance.fieldRead); 235 assertEquals(3, instance.fieldWrite); 236 assertEquals(3, instance.method); 237 } 238 239 245 public void testAfterBindingRemovalExecution() throws Throwable 246 { 247 POJOWrappingInfo[] wrappingInfos = scenarioLoader.executeAfterBindingRemoval(); 249 assertFullyWrapped(wrappingInfos); 251 InterceptionsCount binding = BindingInterceptor.getInterceptionsCount(); 253 assertEquals(0, binding.total); 254 InterceptionsCount instance = InstanceInterceptor.getInterceptionsCount(); 255 assertEquals(0, instance.total); 256 } 257 } | Popular Tags |