Example #1
0
        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);
        }