boolean construction,
boolean methodCall,
boolean constructorCall,
boolean withincode) throws Exception
{
AspectManager manager = AspectManager.instance();
PointcutExpression pointcut = new PointcutExpression("TEST", expression);
manager.addPointcut(pointcut);
PointcutStats stats = pointcut.getStats();
AdviceBinding binding = new AdviceBinding(expression, null);
manager.addBinding(binding);
assertEquals(methodExecution, stats.isMethodExecution());
assertEquals(methodExecution, BindingClassifier.isMethodExecution(binding));
assertEquals(methodExecution, BindingClassifier.isMethodExecution(pointcut));
assertEquals(constructorExecution, stats.isConstructorExecution());
assertEquals(constructorExecution, BindingClassifier.isConstructorExecution(binding));
assertEquals(constructorExecution, BindingClassifier.isConstructorExecution(pointcut));
assertEquals(get, stats.isGet());
assertEquals(get, BindingClassifier.isGet(binding));
assertEquals(get, BindingClassifier.isGet(pointcut));
assertEquals(set, stats.isSet());
assertEquals(set, BindingClassifier.isSet(binding));
assertEquals(set, BindingClassifier.isSet(pointcut));
assertEquals(construction, stats.isConstruction());
assertEquals(construction, BindingClassifier.isConstruction(binding));
assertEquals(construction, BindingClassifier.isConstruction(pointcut));
assertEquals(methodCall, stats.isMethodCall());
assertEquals(methodCall, BindingClassifier.isMethodCall(binding));
assertEquals(methodCall, BindingClassifier.isMethodCall(pointcut));
assertEquals(constructorCall, stats.isConstructorCall());
assertEquals(constructorCall, BindingClassifier.isConstructorCall(binding));
assertEquals(constructorCall, BindingClassifier.isConstructorCall(pointcut));
assertEquals(withincode, stats.isWithincode());
assertEquals(withincode, BindingClassifier.isWithincode(binding));
assertEquals(withincode, BindingClassifier.isWithincode(pointcut));
if (methodExecution || constructorExecution)
{
assertTrue(stats.isExecution());
}
else
{
assertFalse(stats.isExecution());
}
if (methodCall || constructorCall)
{
assertTrue(stats.isCall());
}
else
{
assertFalse(stats.isCall());
}
manager.removePointcut("TEST");
}