private static ProjectCreator CreateWithValidFileSystemMock() { var project = new CsProject("John Doe"); var template = new VsTemplate("EmptyApp"); return(new ProjectCreator(project, template, CreateMockService())); }
public static CsSolution ParseSolution(string solutionFilePath) { var solution = new CsSolution(); SolutionFile solutionFile = SolutionFile.Parse(solutionFilePath); var projectFiles = solutionFile.ProjectsInOrder; var projects = new List <CsProject>(); foreach (var projectFile in projectFiles) { if (!Path.GetExtension(projectFile.AbsolutePath).Equals(".csproj")) { //TODO: support recursive folder search Console.WriteLine($"Skipping path '{projectFile.AbsolutePath}'..."); continue; } ProjectRootElement projectToParse = ProjectRootElement.Open(projectFile.AbsolutePath); var csProject = new CsProject() { Name = projectFile.ProjectName }; csProject.Classes = ParseProjectRoot(projectFile, projectToParse); projects.Add(csProject); } solution.Projects = projects; return(solution); }
public void UserNameEndingWithSDoesNotAppendAdditionalS() { project = new CsProject("Ellis"); Assert.AreEqual("EllisEmptyApp", project.Name); project = new CsProject("ElviS"); Assert.AreEqual("ElviSEmptyApp", project.Name); }
public void PackageReferences() { var csProject = new CsProject(TestHelper.GetStimulPathFor(Path.Combine("Projects", "PackageReference_Single.csproj")), null, null); Assert.AreEqual(1, csProject.PackageReferencesFromCsProj.Count); Assert.AreEqual(new NuGetClientHelper.NuGetPackageIdentity("Microsoft.NET.Test.Sdk", "16.9.4"), csProject.PackageReferencesFromCsProj[0]); csProject = new CsProject(TestHelper.GetStimulPathFor(Path.Combine("Projects", "PackageReference_Many.csproj")), null, null); Assert.AreEqual(3, csProject.PackageReferencesFromCsProj.Count); Assert.AreEqual(new NuGetClientHelper.NuGetPackageIdentity("nunit", "3.13.1"), csProject.PackageReferencesFromCsProj[0]); Assert.AreEqual(new NuGetClientHelper.NuGetPackageIdentity("NUnit3TestAdapter", "3.17.0"), csProject.PackageReferencesFromCsProj[1]); Assert.AreEqual(new NuGetClientHelper.NuGetPackageIdentity("Microsoft.NET.Test.Sdk", "16.9.4"), csProject.PackageReferencesFromCsProj[2]); }
public void Retrieves_type_properties() { CsSolution solution = SolutionParser.ParseSolution(_testSolutionFilePath); CsProject project = solution.Projects.ElementAt(0); CsClass csClass = project.GetClass(nameof(Class2)); var csProps = csClass.Properties; Assert.AreEqual(2, csProps.Count(), "Unexpected number of properties."); CsProperty csProp = csProps.First(); Assert.AreEqual(nameof(Class2.RefToClass1), csProp.Name, "Unexpected property name."); Assert.AreEqual(typeof(Class1).Name, csProp.Type, "Unexpected property type."); //TODO: retrieve property access //Assert.AreEqual("public", csProp.Access, "Unexpected property access."); }
public void Init() { project = new CsProject("User Name"); }
private void button1_Click(object sender, EventArgs e) { var p = new CsProject(@"s:\PerfixEMS_DEV\PerfixConnect\PerfixConnect.Data\PerfixConnect.Data.csproj"); p.Load(); p.Save(); }
private static ProjectCreator CreateWithValidFileSystemMock() { var project = new CsProject("John Doe"); var template = new VsTemplate("EmptyApp"); return new ProjectCreator(project, template, CreateMockService()); }
public void Framework(string project, string expectedPlatform) { var csProject = new CsProject(TestHelper.GetStimulPathFor(Path.Combine("Projects", project)), null, null); Assert.AreEqual(expectedPlatform, csProject.Framework); }
public void PlatformTarget(string project, CsProject.PlatformType expectedPlatform) { var csProject = new CsProject(TestHelper.GetStimulPathFor(Path.Combine("Projects", project)), null, null); Assert.AreEqual(expectedPlatform, csProject.PlatformTarget); }
private CsProject AnalyseProjectXML(string fullPathName) { CsProject csProject = new CsProject(); XDocument xmldoc = XDocument.Load(fullPathName); XNamespace msbuild = "http://schemas.microsoft.com/developer/msbuild/2003"; csProject.Name = xmldoc.Descendants(msbuild + "AssemblyName").FirstOrDefault()?.Value; if (_solutionHashTable.ContainsKey(csProject.Name)) { csProject.SolutionName = _solutionHashTable[csProject.Name].ToString(); } else { csProject.SolutionName = csProject.Name; } // Get Dependencies foreach (var resource in xmldoc.Descendants(msbuild + "ProjectReference")) { string includePath = resource.Descendants(msbuild + "Name").FirstOrDefault()?.Value; if (includePath != null) { csProject.Dependencies.Add(includePath); } } // Get ServiceReferences foreach (var resource in xmldoc.Descendants(msbuild + "None").Where(x => x.Attribute("Include").Value.EndsWith(".disco")).ToList()) { string serviceReference = resource.Attribute("Include").Value; serviceReference = serviceReference.Split('\\').Last().Replace(".disco", ""); serviceReference = Regex.Replace(serviceReference, @"[0-9]", ""); if (!csProject.ServiceReferences.Contains(serviceReference)) { csProject.ServiceReferences.Add(serviceReference); } } // Write Project Details Console.WriteLine($"{Environment.NewLine}Project Name:{Environment.NewLine}\t{csProject.Name}"); if (csProject.Dependencies.Count > 0) { Console.WriteLine($"Project Dependencies:{Environment.NewLine}\t{String.Join(Environment.NewLine + "\t", csProject.Dependencies)}"); } else { Console.WriteLine($"Project Dependencies:{Environment.NewLine}\tNone"); } if (csProject.ServiceReferences.Count > 0) { Console.WriteLine($"Project Service Reference:{Environment.NewLine}\t{String.Join(Environment.NewLine + "\t", csProject.ServiceReferences)}"); } else { Console.WriteLine($"Project Service Reference:{Environment.NewLine}\tNone"); } return(csProject); }