private static int RunOptimize(Options options) { var geneticAlgorithm = new SampleGeneticAlgorithm(); try { var deploymentModelParser = JsonParserFactory.GetDeploymentModelParser(options.DeploymentModelFilePath); var version = JsonParserFactory.GetVersion(options.DeploymentModelFilePath); var deploymentModel = deploymentModelParser.Read(); var bestDeploymentModel = geneticAlgorithm.Run(deploymentModel); var outputPath = options.OutputDeploymentModelFilePath; if (string.IsNullOrEmpty(outputPath)) { var dirInfo = Path.GetDirectoryName(Path.GetFullPath(options.DeploymentModelFilePath)); var fileInfo = Path.GetFileName(options.DeploymentModelFilePath); outputPath = dirInfo + "/optimized_" + fileInfo; } Console.WriteLine("Outputting optimized deploymentmodel to " + outputPath); JsonDeploymentModelWriterFactory.Write(version, bestDeploymentModel, outputPath); } catch (Exception exception) { Console.WriteLine(exception.Message); return(1); } return(0); }
public void ReadV3_Written_DeploymentModel_Returns_SameDeploymentModel() { var tmpFile = Path.GetTempFileName(); var deploymentModel = CreateDeploymentModel(); JsonDeploymentModelWriterFactory.Write(3, deploymentModel, tmpFile); var reader = JsonParserFactory.GetDeploymentModelParser(tmpFile); var version = JsonParserFactory.GetVersion(tmpFile); var readModel = reader.Read(); Assert.AreEqual(3, version); Assert.AreEqual(deploymentModel, readModel); }