public void GetCategorizedTemplates_TwoTemplatesWithGroupCondition_TemplateFilteredUsingTemplateParameters() { CreateCategories("android", "app", "general"); CreateCategorizer(); SolutionTemplate template1 = AddTemplate("template-id1", "android/app/general"); template1.GroupId = "console"; template1.Language = "C#"; template1.Condition = "Device=IPhone"; SolutionTemplate template2 = AddTemplate("template-id2", "android/app/general"); template2.GroupId = "console"; template2.Language = "C#"; template2.Condition = "Device=IPad"; ProjectCreateParameters parameters = CreateParameters("Device", "IPad"); CategorizeTemplates(); TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First(); SolutionTemplate firstTemplate = generalCategory.Templates.FirstOrDefault(); SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters); parameters.Clear(); SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters); Assert.AreEqual(template2, matchedTemplate); Assert.IsNull(noMatchedTemplate); }
public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionAndParameterIsBoolean_TemplateFilteredUsingTemplateParameters() { CreateCategories("android", "app", "general"); CreateCategorizer(); SolutionTemplate template = AddTemplate("template-id", "android/app/general"); template.GroupId = "console"; template.Language = "C#"; template.Condition = "SupportsSizeClasses=True"; ProjectCreateParameters parameters = CreateParameters("SupportsSizeClasses", true.ToString()); CategorizeTemplates(); TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First(); SolutionTemplate firstTemplate = generalCategory.Templates.FirstOrDefault(); SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters); Assert.AreEqual(template, matchedTemplate); parameters.Clear(); SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters); Assert.IsNull(noMatchedTemplate); }