public void WriteAllBaselineComparisons(string reportDir, string newCommand)
        {
            if (!Directory.Exists(reportDir))
            {
                Directory.CreateDirectory(reportDir);
            }

            // write the comparisons for the commands
            List <InvocationBaselineUnit> invocationBaselineUnitList = new List <InvocationBaselineUnit>();

            foreach (InvocationUnit unit in _invocationUnits)
            {
                IReadOnlyList <BaselineCommandData> unitCommandData = WriteBaselineComparisonsForInvocationUnit(unit, reportDir, newCommand);
                InvocationBaselineUnit reportUnit = new InvocationBaselineUnit(unit.Name, unit.InstallRequirements, unitCommandData);
                invocationBaselineUnitList.Add(reportUnit);
            }

            // write the master baseline report.
            BaselineMasterReport masterBaseline = new BaselineMasterReport()
            {
                NewCommand  = newCommand,
                Invocations = invocationBaselineUnitList
            };
            JObject serializedMaster = JObject.FromObject(masterBaseline);

            string masterBaselineReportFilename = Path.Combine(reportDir, MasterBaselineReportFileName);

            File.WriteAllText(masterBaselineReportFilename, serializedMaster.ToString());
        }
        private void ReadBaselineMasterReport()
        {
            string baselineMasterReportFilename = Path.Combine(_baselineReportDir, BaselineReportCreator.MasterBaselineReportFileName);

            _masterReport = BaselineMasterReport.FromFile(baselineMasterReportFilename);
        }