public void ParsingMixinsDeclarations()
{
AspectParser parser = CreateParser(
"mixins \r\n" +
"[" +
" \"key1\" : Namespace.CustomerMixin1 in MyAssembly;" +
" \"key2\" : Namespace.CustomerMixin2 in MyAssembly;" +
" \"key3\" : Namespace.CustomerMixin3 in MyAssembly" +
"]");
EngineConfiguration conf = parser.Parse();
Assert.IsNotNull(conf);
Assert.IsNotNull(conf.Mixins);
Assert.AreEqual(3, conf.Mixins.Count);
MixinEntryDefinition def = conf.Mixins[0];
Assert.IsNotNull(def);
Assert.AreEqual("key1", def.Key);
Assert.AreEqual(TargetTypeEnum.Type, def.TypeReference.TargetType);
Assert.AreEqual("Namespace.CustomerMixin1", def.TypeReference.TypeName);
Assert.AreEqual("MyAssembly", def.TypeReference.AssemblyReference.AssemblyName);
def = conf.Mixins[1];
Assert.IsNotNull(def);
Assert.AreEqual("key2", def.Key);
Assert.AreEqual(TargetTypeEnum.Type, def.TypeReference.TargetType);
Assert.AreEqual("Namespace.CustomerMixin2", def.TypeReference.TypeName);
Assert.AreEqual("MyAssembly", def.TypeReference.AssemblyReference.AssemblyName);
def = conf.Mixins[2];
Assert.IsNotNull(def);
Assert.AreEqual("key3", def.Key);
Assert.AreEqual(TargetTypeEnum.Type, def.TypeReference.TargetType);
Assert.AreEqual("Namespace.CustomerMixin3", def.TypeReference.TypeName);
Assert.AreEqual("MyAssembly", def.TypeReference.AssemblyReference.AssemblyName);
}