/// <summary>
        /// Outputs the results to an appropriate file or stdout.
        /// </summary>
        /// <param name="results">The test results.</param>
        /// <param name="cla">The command line arguments.</param>
        /// <exception cref="Exception">Output format must be specified.</exception>
        public void OutputResults(ParsedData results, CommandLineArguments cla)
        {
            using (Stream s = cla.OutputFilename == null ? Console.OpenStandardOutput() : new FileStream(cla.OutputFilename, FileMode.Create))
            {
                ITestResultWriter writer = null;
                switch (cla.OutputFormat)
                {
                    case OutputFormat.CSV:
                        writer = new CSVTestResultWriter();
                        break;
                    case OutputFormat.Json:
                        writer = new JSONTestResultWriter();
                        break;
                    case OutputFormat.KVP:
                        writer = new KVPTestResultWriter();
                        break;
                    case OutputFormat.Xlsx:
                        writer = new XLSXWriter(cla.YellowBand, cla.GreenBand);
                        break;
                    default:
                        throw new Exception("Unsupported output format: " + cla.OutputFormat);
                }

                writer.WriteResults(s, results);
            }
        }
        /// <summary>
        /// Outputs the results to an appropriate file or stdout.
        /// </summary>
        /// <param name="results">The test results.</param>
        /// <param name="cla">The command line arguments.</param>
        /// <exception cref="Exception">Output format must be specified.</exception>
        public void OutputResults(ParsedData results, CommandLineArguments cla)
        {
            using (Stream s = cla.OutputFilename == null ? Console.OpenStandardOutput() : new FileStream(cla.OutputFilename, FileMode.Create))
            {
                ITestResultWriter writer = null;
                switch (cla.OutputFormat)
                {
                case OutputFormat.CSV:
                    writer = new CSVTestResultWriter();
                    break;

                case OutputFormat.Json:
                    writer = new JSONTestResultWriter();
                    break;

                case OutputFormat.KVP:
                    writer = new KVPTestResultWriter();
                    break;

                case OutputFormat.Xlsx:
                    writer = new XLSXWriter(cla.YellowBand, cla.GreenBand);
                    break;

                default:
                    throw new Exception("Unsupported output format: " + cla.OutputFormat);
                }

                writer.WriteResults(s, results);
            }
        }