private bool FindSolution(ProjectDescription description, out SolutionDescription solutionDescription) { var parentDirecotry = new FileInfo(description.FullName).Directory.Parent; while (parentDirecotry != null) { var solutions = parentDirecotry.GetFiles().Where(p => p.FullName.EndsWith(".sln")); if (solutions.Any()) { foreach (var item in solutions) { var prjlist = _solutionParser.Parser(item.FullName); if (prjlist.Any(p => $"{{{p.Guid.ToString().ToLower()}}}" == description.ProjectGuid.ToLower())) { solutionDescription = new SolutionDescription { FullName = item.FullName, Location = item.Directory, Name = item.Name }; return(true); } } } parentDirecotry = parentDirecotry.Parent; } solutionDescription = null; return(false); }
public void WriteSolutionToFile(SolutionDescription _solutionDescription, string path) { try { StreamWriter streamWriter = new StreamWriter(path); for (int i = 0; i < _solutionDescription.m_permutation.Length; i++) { if (_solutionDescription.m_permutation[i].Length == 0) { streamWriter.WriteLine("Vehicle {0} has no clients to visit.", i); } else { streamWriter.WriteLine("Vehicle {0} visits clients:", i); foreach (int client in _solutionDescription.m_permutation[i]) { streamWriter.WriteLine(" {0}", client); } } } streamWriter.WriteLine(); streamWriter.WriteLine("Total cost: {0}", _solutionDescription.m_result); streamWriter.Close(); } catch (Exception exception) { Console.WriteLine(exception.ToString()); } }
public void BuildSimpleSolutionWithDescriptionMissingProperty() { var builder = new ProjectSolutionBuilder(); //Description is null Assert.Throws <ArgumentNullException>(() => builder.WithSolutionDescription(null)); var description = new SolutionDescription(); //Author is null Assert.Throws <ArgumentNullException>(() => builder.WithSolutionDescription(description)); description.Author = "Patrick Trautmann"; //Name is null Assert.Throws <ArgumentNullException>(() => builder.WithSolutionDescription(description)); description.Name = "Testprojekt"; //Version is null Assert.Throws <ArgumentNullException>(() => builder.WithSolutionDescription(description)); }
private void ReceiveSolutionInfo(ulong _id) { var solutionInfo = DeserializeMessage <Solutions>(Receive()); solutions = solutionInfo.Solutions1; if (solutions != null && solutions[0].Type == SolutionsSolutionType.Final && solutions[0].TaskIdSpecified == false) { m_requestTimer.Stop(); //zapis danych na dysku SolutionDescription solutionDescription = SerializeToClass <SolutionDescription>(solutions[0].Data); SolutionDescriptionToFileParser solutionDescriptionToFileParser = new SolutionDescriptionToFileParser(); m_des = SerializeToClass <DVRPDescription>(solutionInfo.CommonData); Console.WriteLine("Received Problem Solution Id = {0}.", solutionInfo.Id); Console.WriteLine("Write name of the file for solution (MAX 15 characters)"); string solutionFileName = Console.ReadLine(); if (solutionFileName.Length == 0) { solutionFileName = "Result File"; } solutionFileName = solutionFileName.Substring(0, solutionFileName.Length < 15 ? solutionFileName.Length : 15); int[][] x = m_sol = solutionDescription.m_permutation; //solutionDescriptionToFileParser.WriteSolutionToFile(solutionDescription, solutionFileName + ".txt"); solutionDescriptionToFileParser.WriteSolutionToFile(solutionDescription.m_permutation, solutionDescription.m_result, solutionFileName + ".txt"); Console.WriteLine("Solution saved correctly in file " + solutionFileName); Console.WriteLine("Would you like to see the visualisation? [y/n]"); string visualisationChoice = Console.ReadLine(); if (visualisationChoice.Length > 0 && (visualisationChoice[0] == 'y' || visualisationChoice[0] == 'Y')) { Thread t = new Thread(new ThreadStart(ShowVisualisation)); t.Start(); } Console.WriteLine("Work done. Good bye!"); Console.ReadLine(); waiting.Release(); } else { Console.WriteLine("We haven't result yet"); } }
private void ValidateDescription(SolutionDescription description) { Assert.IsTrue(description.Author.Equals("Patrick Trautmann")); Assert.IsTrue(description.Name.Equals("Sample Project")); Assert.IsTrue(description.SolutionVersion.Equals(new ProjectVersion(1, 0, 0))); }