public void GetGroupedTemplates_ThreeGroupedConsoleProjectTemplates_CanGetOtherTemplatesInGroupFromEitherTemplate() { CreateCategories("android", "app", "general"); CreateCategorizer(); SolutionTemplate template1 = AddTemplate("template-id1", "android/app/general"); template1.GroupId = "console"; template1.Language = "C#"; SolutionTemplate template2 = AddTemplate("template-id2", "android/app/general"); template2.GroupId = "console"; template2.Language = "F#"; SolutionTemplate template3 = AddTemplate("template-id3", "android/app/general"); template3.GroupId = "console"; template3.Language = "VBNet"; CategorizeTemplates(); var templatesInGroupForTemplate1 = template1.GetGroupedTemplates().ToList(); var templatesInGroupForTemplate2 = template2.GetGroupedTemplates().ToList(); var templatesInGroupForTemplate3 = template3.GetGroupedTemplates().ToList(); Assert.That(templatesInGroupForTemplate1, Contains.Item(template2)); Assert.That(templatesInGroupForTemplate1, Contains.Item(template3)); Assert.That(templatesInGroupForTemplate2, Contains.Item(template1)); Assert.That(templatesInGroupForTemplate2, Contains.Item(template3)); Assert.That(templatesInGroupForTemplate3, Contains.Item(template1)); Assert.That(templatesInGroupForTemplate3, Contains.Item(template2)); Assert.AreEqual(2, templatesInGroupForTemplate1.Count); Assert.AreEqual(2, templatesInGroupForTemplate2.Count); Assert.AreEqual(2, templatesInGroupForTemplate3.Count); }
/// <summary> /// Removes any recent templates from the same group if it has the same language. /// Different languages for the same group can exist separately in the recent project /// templates list. /// </summary> void RemoveTemplateFromSameGroup(SolutionTemplate template) { foreach (var groupTemplate in template.GetGroupedTemplates()) { if (groupTemplate.Language == template.Language) { var recentItem = CreateRecentItem(groupTemplate); recentTemplates.RemoveItem(recentItem); } } }
public void GetGroupedTemplates_TwoGroupedConsoleProjectTemplates_CanGetOtherTemplatesInGroupFromEitherTemplate() { CreateCategories("android", "app", "general"); CreateCategorizer(); SolutionTemplate template1 = AddTemplate("template-id1", "android/app/general"); template1.GroupId = "console"; template1.Language = "C#"; SolutionTemplate template2 = AddTemplate("template-id2", "android/app/general"); template2.GroupId = "console"; template2.Language = "F#"; CategorizeTemplates(); var templatesInGroupForTemplate1 = template1.GetGroupedTemplates().Single(); var templatesInGroupForTemplate2 = template2.GetGroupedTemplates().Single(); Assert.AreEqual(template2, templatesInGroupForTemplate1); Assert.AreEqual(template1, templatesInGroupForTemplate2); }