public void ProcessesStandardTokenizedVariables()
        {
            var generator = CreateGenerator();
            var template  = File.ReadAllText(TemplateManifestPath);
            var match     = generator.GetMatches(template).Cast <Match>().FirstOrDefault();
            var config    = new TestBuildConfiguration
            {
                BuildConfiguration = "Test",
                ProjectDirectory   = Directory.GetCurrentDirectory(),
                SolutionDirectory  = Directory.GetCurrentDirectory()
            };
            var variables = EnvironmentAnalyzer.GatherEnvironmentVariables(config, true);

            foreach (var variable in variables)
            {
                _testOutputHelper.WriteLine($"  - {variable.Key}: {variable.Value}");
            }
            var processedTemplate = generator.ProcessMatch(template, match, variables);
            var json = JsonConvert.DeserializeAnonymousType(processedTemplate, new
            {
                TemplatedParameter   = "",
                CustomTokenParameter = ""
            });

            Assert.Equal("%%CustomTokenParameter%%", json.CustomTokenParameter);
            Assert.Equal(nameof(AppManifestGeneratorFixture), json.TemplatedParameter);
        }
 private BaseTemplatedManifestGenerator CreateGenerator(TestBuildConfiguration config)
 {
     config.Configuration.Manifests.VariablePrefix = TestPrefix;
     return(new DefaultTemplatedManifestGenerator(config)
     {
         ManifestOutputPath = TemplateManifestOutputPath,
     });
 }
        private void CopyResources(TestBuildConfiguration config)
        {
            if (Platform != Platform.iOS)
            {
                return;
            }

            var templates = Path.Combine(System.Environment.CurrentDirectory, "Templates", "Apple");

            CopyFilesRecursively(templates, config.ProjectDirectory);
        }