示例#1
0
        private static ProjectCreator CreateWithValidFileSystemMock()
        {
            var project  = new CsProject("John Doe");
            var template = new VsTemplate("EmptyApp");

            return(new ProjectCreator(project, template, CreateMockService()));
        }
        public void CheckTotalNumberOfFilesFromEmptyAppTemplate()
        {
            var template = new VsTemplate("EmptyApp");
            var list     = template.GetAllFilePathsAsList();

            Assert.AreEqual(5, list.Count);
        }
示例#3
0
		public void CreateWithEmptyAppTemplate()
		{
			var template = new VsTemplate("EmptyApp");
			Assert.IsTrue(template.PathToZip.EndsWith("EmptyApp.zip"));
			Assert.IsTrue(template.AssemblyInfo.EndsWith(Path.Combine("Properties", "AssemblyInfo.cs")));
			Assert.IsTrue(template.Csproj.EndsWith("EmptyApp.csproj"));
			Assert.IsTrue(template.Icons[0].EndsWith("EmptyApp.ico"));
			Assert.AreEqual(2, template.SourceCodeFiles.Count);
			Assert.IsTrue(template.SourceCodeFiles[0].EndsWith("ColorChanger.cs"));
			Assert.IsTrue(template.SourceCodeFiles[1].EndsWith("Program.cs"));
		}
        public void CreateWithEmptyAppTemplate()
        {
            var template = new VsTemplate("EmptyApp");

            Assert.IsTrue(template.PathToZip.EndsWith("EmptyApp.zip"));
            Assert.IsTrue(template.AssemblyInfo.EndsWith(Path.Combine("Properties", "AssemblyInfo.cs")));
            Assert.IsTrue(template.Csproj.EndsWith("EmptyApp.csproj"));
            Assert.IsTrue(template.Icons[0].EndsWith("EmptyApp.ico"));
            Assert.AreEqual(2, template.SourceCodeFiles.Count);
            Assert.IsTrue(template.SourceCodeFiles[0].EndsWith("ColorChanger.cs"));
            Assert.IsTrue(template.SourceCodeFiles[1].EndsWith("Program.cs"));
        }
        private VsTemplate CreateTemplate(ProjectRewriteCacheEntry projectInfos)
        {
            var template = new VsTemplate();

            template.Type                            = Constants.VsTemplate.ProjectTypes.Project;
            template.TemplateData                    = new TemplateData();
            template.TemplateData.Icon               = PackageHelper.GetConfigurationIcon(Context.Configuration);
            template.TemplateData.Name               = "$safeprojectname$";
            template.TemplateData.DefaultName        = "Project";
            template.TemplateData.ProvideDefaultName = true;
            template.TemplateData.CreateNewFolder    = true;
            template.TemplateData.CreateInPlace      = true;
            template.TemplateData.CodeLanguage       = Context.Configuration.CodeLanguage;
            template.TemplateContent                 = CreateContent(projectInfos);
            return(template);
        }
示例#6
0
        protected void SaveTemplate(VsTemplate template, string templatePath)
        {
            Log.Info($"Saving template to \"{templatePath}\".");
            var serializer = new XmlSerializer(typeof(VsTemplate));

            using (var fileStream = new FileStream(templatePath, FileMode.Create))
            {
                using (var streamWriter = new StreamWriter(fileStream, Encoding.UTF8))
                {
                    serializer.Serialize(streamWriter, template);
                }
            }

            if (!FileHelper.RemoveXmlMarker(templatePath))
            {
                throw new Exception($"Failed to remove xml tag from template file.");
            }
        }
示例#7
0
        private void CreateRootVsTemplate(SolutionRewriteContext context, ProjectRewriteCache cache, string templatePath)
        {
            var template = new VsTemplate();

            template.Type = Constants.VsTemplate.ProjectTypes.ProjectGroup;
            template.TemplateData.Hidden             = context.Configuration.HideSubProjects;
            template.TemplateData.CreateInPlace      = context.Configuration.CreateInPlace;
            template.TemplateData.CreateNewFolder    = context.Configuration.CreateNewFolder;
            template.TemplateData.DefaultName        = context.Configuration.DefaultName;
            template.TemplateData.Description        = context.Configuration.Description;
            template.TemplateData.Name               = context.Configuration.Name;
            template.TemplateData.ProvideDefaultName = context.Configuration.ProvideDefaultName;
            template.TemplateData.CodeLanguage       = context.Configuration.CodeLanguage;
            template.TemplateData.Icon               = PackageHelper.GetConfigurationIcon(context.Configuration);

            template.TemplateContent = BuildRootTemplateContent(cache);

            SaveTemplate(template, templatePath);
        }
        public void SerializeVisualStudioIcon()
        {
            var serializer   = new XmlSerializer(typeof(VsTemplate));
            var vsTemplate   = new VsTemplate();
            var templateData = new TemplateData();

            vsTemplate.TemplateData = templateData;
            var icon = new IconPackageReference("packagecontent", 404);

            templateData.Icon = icon;
            var sb           = new StringBuilder();
            var stringWriter = new StringWriter(sb);

            serializer.Serialize(new XmlTextWriter(stringWriter)
            {
                Indentation = 2, IndentChar = ' ', Formatting = Formatting.Indented
            }, vsTemplate);
            var result = sb.ToString();

            result.Should().Be(SerializedVisualStudioIcon);
        }
示例#9
0
		public void CheckTotalNumberOfFilesFromEmptyAppTemplate()
		{
			var template = new VsTemplate("EmptyApp");
			var list = template.GetAllFilePathsAsList();
			Assert.AreEqual(5, list.Count);
		}
示例#10
0
		private static ProjectCreator CreateWithCorruptFileSystemMock()
		{
			var template = new VsTemplate("EmptyApp");
			return new ProjectCreator(new CsProject(""), template, CreateMockService());
		}
示例#11
0
		private static ProjectCreator CreateWithValidFileSystemMock()
		{
			var project = new CsProject("John Doe");
			var template = new VsTemplate("EmptyApp");
			return new ProjectCreator(project, template, CreateMockService());
		}
示例#12
0
        private static ProjectCreator CreateWithCorruptFileSystemMock()
        {
            var template = new VsTemplate("EmptyApp");

            return(new ProjectCreator(new CsProject(""), template, CreateMockService()));
        }
示例#13
0
 public void VsTemplatesHaveToBeAvailable()
 {
     Assert.Greater(VsTemplate.GetAllTemplateNames(DeltaEngineFramework.GLFW).Length, 0);
 }