public void GlobalsCorrectlyReferenced()
{
String content = " " +
"interceptors \r\n" +
"[" +
"\"customer\" : System.Collections.Hashtable" +
"]" +
"mixins \r\n" +
"[" +
"\"customer\" : AspectSharp.Lang.Tests.Types.Mixins.MockMixin in AspectSharp.Lang.Tests" +
"]" +
" " +
"aspect McBrother for System.Collections.ArrayList " +
" " +
" include \"customer\"" +
" " +
" pointcut method(*)" +
" advice(\"customer\")" +
" end" +
" " +
"end " +
" ";
EngineConfiguration conf = ProcessContent(content);
Assert.IsFalse(_context.HasErrors);
AspectDefinition aspect = conf.Aspects[0];
MixinDefinition mixin = aspect.Mixins[0];
InterceptorDefinition interceptor = aspect.PointCuts[0].Advices[0];
Assert.IsNotNull( mixin.TypeReference );
Assert.IsNotNull( mixin.TypeReference.ResolvedType );
Assert.AreEqual( typeof(MockMixin), mixin.TypeReference.ResolvedType );
Assert.IsNotNull( interceptor.TypeReference );
Assert.IsNotNull( interceptor.TypeReference.ResolvedType );
Assert.AreEqual( typeof(System.Collections.Hashtable), interceptor.TypeReference.ResolvedType );
}