public void InterfaceWrap()
{
String contents = "import AspectSharp.Tests.Classes in AspectSharp.Tests " +
" " +
" aspect MyAspect for [ assignableFrom(IPartiallyComplex) ] " +
" " +
" pointcut method|property(*)" +
" advice(AspectSharp.Tests.Classes.LogInvocationInterceptor)" +
" end" +
" " +
" end ";
AspectEngineBuilder builder = new AspectLanguageEngineBuilder(contents);
AspectEngine engine = builder.Build();
IPartiallyComplex instance = null;
instance = engine.WrapInterface(typeof(IPartiallyComplex), new ComplexClass()) as IPartiallyComplex;
instance.DoNothing();
instance.DoSomething();
String[] messages = LogInvocationInterceptor.Messages;
Assert.AreEqual( 2, messages.Length );
}