public void ParsingAspectWithAFewMixinDeclarations()
{
AspectParser parser = CreateParser(
"aspect XPTO for MyNamespace.MyType \r\n" +
"" +
" include MyNamespace.Type1 in MyAssembly1 " +
" include MyNamespace.Type2 in MyAssembly2 " +
" include MyNamespace.Type3 in MyAssembly3 " +
"" +
"" +
"end");
EngineConfiguration conf = parser.Parse();
AspectDefinition def = conf.Aspects[0];
Assert.AreEqual(3, def.Mixins.Count);
MixinDefinition typeName = def.Mixins[0];
Assert.AreEqual(TargetTypeEnum.Type, typeName.TypeReference.TargetType);
Assert.AreEqual("MyNamespace.Type1", typeName.TypeReference.TypeName);
Assert.AreEqual("MyAssembly1", typeName.TypeReference.AssemblyReference.AssemblyName);
typeName = def.Mixins[1];
Assert.AreEqual(TargetTypeEnum.Type, typeName.TypeReference.TargetType);
Assert.AreEqual("MyNamespace.Type2", typeName.TypeReference.TypeName);
Assert.AreEqual("MyAssembly2", typeName.TypeReference.AssemblyReference.AssemblyName);
typeName = def.Mixins[2];
Assert.AreEqual(TargetTypeEnum.Type, typeName.TypeReference.TargetType);
Assert.AreEqual("MyNamespace.Type3", typeName.TypeReference.TypeName);
Assert.AreEqual("MyAssembly3", typeName.TypeReference.AssemblyReference.AssemblyName);
}