public void TestParse_TestFile01() { var definition = TemplateDefinitionHelper.Parse("TemplateDefinition\\TestFile01.xml"); Assert.IsNotNull(definition); Assert.AreEqual(2, definition.Placeholders.Length); Assert.AreEqual("MODULE1", definition.Placeholders[0].Name); Assert.AreEqual("Hello World", definition.Placeholders[0].Description); Assert.AreEqual("123,456,788", definition.Placeholders[0].SuggestionList); Assert.AreEqual("123", definition.Placeholders[0].DefaultValue); Assert.AreEqual("MODULE2", definition.Placeholders[1].Name); Assert.AreEqual(null, definition.Placeholders[1].Description); Assert.AreEqual(null, definition.Placeholders[1].SuggestionList); Assert.AreEqual(null, definition.Placeholders[1].Description); }
public override async Task <bool> OnNavigatedToAsync(IProgress <string> progress, StepContext ctx) { if (!IsTargetDirectoryValid(ctx)) { return(false); } var templateDefinitionFile = Path.Combine(ctx.TargetDirectory, "TemplateDefinition.xml"); if (!File.Exists(templateDefinitionFile)) { return(false); } var templateDefinition = await Task.Run(() => TemplateDefinitionHelper.Parse(templateDefinitionFile)); if (templateDefinition == null) { return(false); } try { File.Delete(templateDefinitionFile); } catch (Exception ex) { theLogger.Error($"Unable to delete template definition file: '{templateDefinitionFile}'.", ex); } foreach (var placeholderDefinition in templateDefinition.Placeholders) { var placeholder = new PlaceholderViewModel() { Name = placeholderDefinition.Name, TextToReplace = string.IsNullOrEmpty(placeholderDefinition.TextToReplace) ? placeholderDefinition.Name : placeholderDefinition.TextToReplace, Replacement = placeholderDefinition.DefaultValue, Suggestions = TemplateDefinitionHelper.SplitEscapedString(placeholderDefinition.SuggestionList), Description = placeholderDefinition.Description }; placeholder.PropertyChanged += (s, e) => { foreach (var example in Examples) { example.UpdateText(Placeholders); } }; Placeholders.Add(placeholder); } foreach (var example in templateDefinition.Examples ?? new Example[0]) { Examples.Add(new ExampleViewModel(example)); } return(true); }