ProjectCreateParameters CreateParameters(string name, string value) { var parameters = new ProjectCreateParameters(); parameters [name] = value; return(parameters); }
public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionHavingMultipleParameterConditionsSeparatedByComma_TemplateFilteredUsingAllParametersInCondition() { CreateCategories("android", "app", "general"); CreateCategorizer(); SolutionTemplate template = AddTemplate("template-id", "android/app/general"); template.GroupId = "console"; template.Language = "C#"; template.Condition = "Device=MyDevice,SupportsSizeClasses=true"; ProjectCreateParameters parameters = CreateParameters("Device", "MyDevice"); parameters ["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 = CreateParameters("Device", "MyDevice"); parameters ["SupportsSizeClasses"] = false.ToString(); SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters); Assert.IsNull(noMatchedTemplate); }
public bool MoveToFirstPage(SolutionTemplate template, ProjectCreateParameters parameters) { Reset(); if (!template.HasWizard) { return(false); } CurrentWizard = GetWizard(template.Wizard); if (CurrentWizard == null) { LoggingService.LogError("Unable to find project template wizard '{0}'.", template.Wizard); return(false); } CurrentWizard.Parameters = parameters; CurrentWizard.UpdateParameters(template); IsFirstPage = true; CurrentPageNumber = 1; if (CurrentWizard.TotalPages == 0) { IsLastPage = true; return(false); } CurrentWizardPage = GetCurrentWizardPage(); IsLastPage = CurrentWizard.TotalPages == 1; return(true); }
public void GetCategorizedTemplates_TwoTemplatesWithGroupCondition_CanGetTemplateMatchingConditionFromAnyGroupedTemplate() { 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 ipadParameters = CreateParameters("Device", "IPad"); ProjectCreateParameters iphoneParameters = CreateParameters("Device", "IPhone"); CategorizeTemplates(); TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First(); SolutionTemplate firstTemplate = generalCategory.Templates.FirstOrDefault(); SolutionTemplate matchedIPadTemplate = firstTemplate.GetTemplate("C#", ipadParameters); SolutionTemplate matchedIPhoneTemplate = firstTemplate.GetTemplate("C#", iphoneParameters); Assert.AreEqual(template2, matchedIPadTemplate); Assert.AreEqual(template1, matchedIPhoneTemplate); Assert.AreEqual(template2, matchedIPadTemplate.GetTemplate("C#", ipadParameters)); Assert.AreEqual(template1, matchedIPadTemplate.GetTemplate("C#", iphoneParameters)); }
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); }
void CreateProvider() { template = new SolutionTemplate("id", "name", "icon"); template.Wizard = "wizard-id"; parameters = new ProjectCreateParameters(); wizard = new TestableTemplateWizard(); provider = new TestableTemplateWizardProvider(); wizard = provider.Wizard; }
public NewProjectConfiguration() { SolutionName = String.Empty; Location = String.Empty; CreateProjectDirectoryInsideSolutionDirectory = true; CreateGitIgnoreFile = true; UseGit = true; Parameters = new ProjectCreateParameters(); }
public bool IsExcluded(ProjectCreateParameters projectCreateParameters) { if (String.IsNullOrEmpty(condition)) { return(false); } if (templateParameters == null) { templateParameters = TemplateParameter.CreateParameters(condition).ToList(); } return(templateParameters.Any(parameter => IsExcluded(parameter, projectCreateParameters))); }
void AddAssemblyInfoFile(Project project) { var doc = new XmlDocument(); doc.LoadXml("<FileTemplateReference TemplateID='CSharpAssemblyInfo' name='AssemblyInfo.cs' />"); var fileTemplate = new FileTemplateReference(); fileTemplate.Load(doc.DocumentElement, null); var parameters = new ProjectCreateParameters(); parameters["UseCustomAssemblyInfoVersion"] = "true"; parameters["AssemblyInfoVersion"] = "1.0.0.0"; fileTemplate.SetProjectTagModel(parameters); fileTemplate.AddToProject(project.ParentFolder, project, "C#", project.BaseDirectory, ""); fileTemplate.SetProjectTagModel(null); }
public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionContainingExtraWhitespace_TemplateFilteredUsingTemplateParameters() { CreateCategories("android", "app", "general"); CreateCategorizer(); SolutionTemplate template = AddTemplate("template-id", "android/app/general"); template.GroupId = "console"; template.Language = "C#"; template.Condition = " Device = MyDevice "; ProjectCreateParameters parameters = CreateParameters("Device", "MyDevice"); CategorizeTemplates(); TemplateCategory generalCategory = categorizedTemplates.First().Categories.First().Categories.First(); SolutionTemplate firstTemplate = generalCategory.Templates.FirstOrDefault(); SolutionTemplate matchedTemplate = firstTemplate.GetTemplate("C#", parameters); Assert.AreEqual(template, matchedTemplate); }
public void GetCategorizedTemplates_OneTemplateOneCategoryWithGroupConditionAndParameterNameAndValueHaveDifferentCase_TemplateFilteredUsingTemplateParametersIgnoringCase() { CreateCategories("android", "app", "general"); CreateCategorizer(); SolutionTemplate template = AddTemplate("template-id", "android/app/general"); template.GroupId = "console"; template.Language = "C#"; template.Condition = "Device=MyDevice"; ProjectCreateParameters parameters = CreateParameters("device", "mydevice"); 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 = CreateParameters("device", "no-match"); SolutionTemplate noMatchedTemplate = firstTemplate.GetTemplate("C#", parameters); 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); }
bool IsMatch(string language, ProjectCreateParameters parameters) { return((this.language == language) && !condition.IsExcluded(parameters)); }
public SolutionTemplate GetTemplate(string language, ProjectCreateParameters parameters) { return(GetTemplate(template => template.IsMatch(language, parameters))); }
bool IsExcluded(TemplateParameter parameter, ProjectCreateParameters parameters) { return(!String.Equals(parameters [parameter.Name], parameter.Value, StringComparison.OrdinalIgnoreCase)); }
static bool IsTemplateMatch(SolutionTemplate template, SolutionTemplate templateToMatch, string language, ProjectCreateParameters parameters) { return(template.Id == templateToMatch.Id && template.Category == templateToMatch.Category && template.GetTemplate(language, parameters) != null); }
public void Init() { parameters = new ProjectCreateParameters(); }