protected override void ExtendReport(ReportElements.NUnitExecutionReport report)
        {
            if (File.Exists(reportParameters.LabelledTestOutput))
            {
                using(var reader = new StreamReader(reportParameters.LabelledTestOutput))
                {
                    string currentTest = "unknown";
                    List<string> testLines = new List<string>();

                    string line;
                    while ((line = reader.ReadLine()) != null)
                    {
                        if (line.StartsWith("***"))
                        {
                            CloseCurrentTest(testLines, currentTest, report);
                            currentTest = line.Trim('*', ' ');
                        }
                        else
                        {
                            testLines.Add(line);
                        }
                    }
                    CloseCurrentTest(testLines, currentTest, report);
                }
            }
        }
Beispiel #2
0
        /// <exception cref="InvalidArgumentException">
        /// <paramref name="param"/> is invalid.
        /// </exception>
        private void ParseShowOption(string param)
        {
            ReportElements elements = (ReportElements)0;

            for (int i = 0; i < param.Length; i++)
            {
                char paramChar = param[i];

                if (paramChar == 'f')                        // Show files
                {
                    elements |= ReportElements.Files;
                }
                else if (paramChar == 'p')                   // Show projects
                {
                    elements |= ReportElements.Projects;
                }
                else if (paramChar == 's')                   // Show summary
                {
                    elements |= ReportElements.Summary;
                }
                else
                {
                    throw new InvalidArgumentException(param,
                                                       "Invalid '" + paramChar + "' parameter for '-show' option.");
                }
            }

            visibleElements = elements;
        }
Beispiel #3
0
        public void RenderReportElements(object sender, NotifyCollectionChangedEventArgs e)
        {
            ReportElementUserControlls.Clear();
            var reportElements = ReportElements.OrderBy(el => el.Order);

            foreach (var element in reportElements)
            {
                ReportElementUserControlls.Add(_reportElementFactory.CreateElement(element));
            }
        }
Beispiel #4
0
        public static void Write(this ReportElements reportElements, CSideWriter writer)
        {
            writer.BeginSection("DATASET");

            foreach (var reportElement in reportElements)
            {
                reportElement.Write(writer);
            }

            writer.EndSection();
        }
 private void CloseCurrentTest(List<string> testLines, string currentTest, ReportElements.NUnitExecutionReport report)
 {
     if (testLines.Count > 0)
     {
         report.ScenarioOutputs.Add(new ScenarioOutput
                                        {
                                            Name = currentTest,
                                            Text = string.Join(Environment.NewLine, testLines.ToArray())
                                        });
         testLines.Clear();
     }
 }
        private void TransformReport(ReportElements.NUnitExecutionReport report, SpecFlowProject specFlowProject)
        {
            XmlSerializer serializer = new XmlSerializer(typeof(ReportElements.NUnitExecutionReport), 
                                                         ReportElements.NUnitExecutionReport.XmlNamespace);

            if (XsltHelper.IsXmlOutput(ReportParameters.OutputFile))
            {
                XsltHelper.TransformXml(serializer, report, ReportParameters.OutputFile);
            }
            else
            {
                XsltHelper.TransformHtml(serializer, report, ReportType, 
                                         ReportParameters.OutputFile, specFlowProject.Configuration.GeneratorConfiguration, 
                                         ReportParameters.XsltFile);
            }
        }
Beispiel #7
0
        public static void Write(this ReportElements reportElements, CSideWriter writer)
        {
            if (writer.CodeStyle.DoNotPrintEmptyDatasets)
            {
                if (!reportElements.Any())
                {
                    return;
                }
            }

            writer.BeginSection("DATASET");

            foreach (var reportElement in reportElements)
            {
                reportElement.Write(writer);
            }

            writer.EndSection();
        }
 public static IEnumerable <Invocation> ToInvocations(this ReportElements reportElements) =>
 reportElements.Where(e => e.IndentationLevel.GetValueOrDefault(0) == 0).Select(e => e.ToInvocation());
 protected virtual void ExtendReport(ReportElements.NUnitExecutionReport report)
 {
     
 }
Beispiel #10
0
 public void ConvertCSVToSDOFormat(string resultDir)
 {
     if (Directory.Exists(resultDir))
     {
         FileInfo[] files = new DirectoryInfo(resultDir).GetFiles("*.csv");
         if (files.Length != 0)
         {
             string path = resultDir + @"\SDO";
             if (!Directory.Exists(path))
             {
                 Directory.CreateDirectory(path);
             }
             int index = 8;
             int num2 = index + 1;
             int num3 = num2 + 3;
             int num4 = num3 + 3;
             int num5 = num4 + 5;
             int num6 = 12;
             double sample = 0.0;
             foreach (FileInfo info2 in files)
             {
                 StreamReader reader = null;
                 StreamWriter s = null;
                 Hashtable dH = null;
                 Hashtable hashtable2 = null;
                 ReportElements elements = null;
                 try
                 {
                     reader = info2.OpenText();
                     string str2 = info2.Name.Replace(".csv", ".yaml");
                     s = new StreamWriter(path + @"\" + str2);
                     string str3 = reader.ReadLine();
                     dH = new Hashtable();
                     elements = new ReportElements();
                     while (str3 != null)
                     {
                         if (str3 == "End Summary")
                         {
                             break;
                         }
                         if (str3 == string.Empty)
                         {
                             str3 = reader.ReadLine();
                         }
                         else
                         {
                             string[] strArray = str3.Split(new char[] { '=' });
                             if (strArray.Length > 1)
                             {
                                 string key = strArray[0].Trim();
                                 string str5 = strArray[1].Trim();
                                 if (!dH.ContainsKey(key))
                                 {
                                     dH.Add(key, str5);
                                 }
                             }
                             else if (strArray.Length == 1)
                             {
                                 string str6 = strArray[0].Trim();
                                 if (!dH.ContainsKey(str6))
                                 {
                                     dH.Add(str6, "Unknown");
                                 }
                             }
                             str3 = reader.ReadLine();
                         }
                     }
                     if (dH.Count < 1)
                     {
                         reader.Close();
                         reader = null;
                         s.Close();
                         s = null;
                     }
                     else
                     {
                         if (!dH.ContainsKey("Test Data Store"))
                         {
                             dH.Add("Test Data Store", resultDir);
                         }
                         double num8 = 0.0;
                         double num9 = 0.0;
                         if (dH.ContainsKey("Test Description"))
                         {
                             string text1 = (string) dH["Test Description"];
                         }
                         if (dH.ContainsKey("TTFF 95% Limit|s"))
                         {
                             string str7 = (string) dH["TTFF 95% Limit|s"];
                             if (str7 == "N/A")
                             {
                                 num8 = -9999.0;
                             }
                             else
                             {
                                 num8 = Convert.ToDouble(str7);
                             }
                         }
                         if (dH.ContainsKey("2D Position Error 95% Limit|m"))
                         {
                             string str8 = (string) dH["2D Position Error 95% Limit|m"];
                             if (str8 == "N/A")
                             {
                                 num9 = -9999.0;
                             }
                             else
                             {
                                 num9 = Convert.ToDouble(str8);
                             }
                         }
                         if (dH.ContainsKey("TTFF Timeout"))
                         {
                             this._timeoutVal = (string) dH["TTFF Timeout"];
                         }
                         this.prinSDOHeader(s, dH);
                         str3 = reader.ReadLine();
                         for (str3 = reader.ReadLine(); str3 != null; str3 = reader.ReadLine())
                         {
                             string[] strArray2 = str3.Split(new char[] { ',' });
                             double num10 = -9999.0;
                             if (strArray2.Length >= 5)
                             {
                                 double num11 = Convert.ToDouble(strArray2[this._ttffReportType]);
                                 double num12 = Convert.ToDouble(strArray2[index]);
                                 if (num11 <= 0.0)
                                 {
                                     elements.NumberOfTTFFMisses++;
                                 }
                                 else if (num11 == Convert.ToDouble(this._timeoutVal))
                                 {
                                     elements.NumberOfTTFFMisses++;
                                 }
                                 else if ((num11 > num8) && (num8 != 0.0))
                                 {
                                     elements.NumberOfTTFFOutOfLimits++;
                                 }
                                 if (num12 <= 0.0)
                                 {
                                     elements.NumberOf2DMisses++;
                                 }
                                 if ((num12 > num9) && (num9 != 0.0))
                                 {
                                     elements.NumberOf2DOutOfLimits++;
                                 }
                                 if (num11 <= 0.0)
                                 {
                                     elements.NumberOfMisses++;
                                 }
                                 else if (num11 > num8)
                                 {
                                     elements.NumberOfMisses++;
                                 }
                                 else if (num12 <= 0.0)
                                 {
                                     elements.NumberOfMisses++;
                                 }
                                 else if ((num12 > num9) && (num9 != 0.0))
                                 {
                                     elements.NumberOfMisses++;
                                 }
                                 double num13 = Convert.ToDouble(strArray2[num3]);
                                 if (num13 != -9999.0)
                                 {
                                     num10 = Math.Abs((double) (num13 - Convert.ToDouble(strArray2[num4])));
                                 }
                                 elements.TTFFSamples.InsertSample(num11);
                                 elements.Position2DErrorSamples.InsertSample(num12);
                                 elements.VerticalErrorSamples.InsertSample(num10);
                                 for (int i = 0; i < num6; i++)
                                 {
                                     sample = Convert.ToDouble(strArray2[num5 + i]);
                                     if (sample != 0.0)
                                     {
                                         elements.CNOSamples.InsertSample(sample);
                                     }
                                 }
                             }
                         }
                         hashtable2 = new Hashtable();
                         double percentile = elements.TTFFSamples.GetPercentile((double) 95.0, -9999.0);
                         double num16 = elements.TTFFSamples.Stats_Max((double) -9999.0);
                         double num17 = elements.Position2DErrorSamples.GetPercentile((double) 95.0, -9999.0);
                         double num18 = elements.Position2DErrorSamples.Stats_Max((double) -9999.0);
                         double num19 = elements.VerticalErrorSamples.GetPercentile((double) 95.0, -9999.0);
                         double num20 = elements.VerticalErrorSamples.Stats_Max((double) -9999.0);
                         double num21 = elements.CNOSamples.GetPercentile((double) 95.0, -9999.0);
                         double num22 = elements.CNOSamples.Stats_Max((double) -9999.0);
                         string str9 = "Test Result";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt = new SDOStatsElememt();
                             elememt.Value = "N/A";
                             hashtable2.Add(str9, elememt);
                         }
                         str9 = "Samples";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt2 = new SDOStatsElememt();
                             elememt2.Value = elements.TTFFSamples.Samples.ToString("D");
                             hashtable2.Add(str9, elememt2);
                         }
                         str9 = "Number of Misses TTFF";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt3 = new SDOStatsElememt();
                             elememt3.Value = elements.NumberOfTTFFMisses.ToString("D");
                             hashtable2.Add(str9, elememt3);
                         }
                         str9 = "Number of Over Limit TTFF";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt4 = new SDOStatsElememt();
                             elememt4.Value = elements.NumberOfTTFFOutOfLimits.ToString("D");
                             hashtable2.Add(str9, elememt4);
                         }
                         str9 = "Number of Misses 2D Position";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt5 = new SDOStatsElememt();
                             elememt5.Value = elements.NumberOf2DMisses.ToString("D");
                             hashtable2.Add(str9, elememt5);
                         }
                         str9 = "Number of Over Limit 2D Position";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt6 = new SDOStatsElememt();
                             elememt6.Value = elements.NumberOf2DOutOfLimits.ToString("D");
                             hashtable2.Add(str9, elememt6);
                         }
                         str9 = "TTFF 95%|s";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt7 = new SDOStatsElememt();
                             if (num8 != 0.0)
                             {
                                 elememt7.Target = num8.ToString("F2");
                                 elememt7.Comparison = "<";
                                 elememt7.ComparisonResult = (percentile < num8) ? "Pass" : "False";
                             }
                             elememt7.Value = percentile.ToString("F2");
                             hashtable2.Add(str9, elememt7);
                         }
                         str9 = "TTFF Max|s";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt8 = new SDOStatsElememt();
                             elememt8.Value = num16.ToString("F2");
                             hashtable2.Add(str9, elememt8);
                         }
                         str9 = "2D Position Error 95%|m";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt9 = new SDOStatsElememt();
                             if (num9 != 0.0)
                             {
                                 elememt9.Target = num9.ToString("F2");
                                 elememt9.Comparison = "<";
                                 elememt9.ComparisonResult = (num17 < num9) ? "Pass" : "False";
                             }
                             elememt9.Value = num17.ToString("F6");
                             hashtable2.Add(str9, elememt9);
                         }
                         str9 = "2D Position Error Max|m";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt10 = new SDOStatsElememt();
                             elememt10.Value = num18.ToString("F6");
                             hashtable2.Add(str9, elememt10);
                         }
                         str9 = "Vertical Position Error 95%|m";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt11 = new SDOStatsElememt();
                             elememt11.Value = num19.ToString("F6");
                             hashtable2.Add(str9, elememt11);
                         }
                         str9 = "Vertical Position Error Max|m";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt12 = new SDOStatsElememt();
                             elememt12.Value = num20.ToString("F6");
                             hashtable2.Add(str9, elememt12);
                         }
                         str9 = "CNo 95%|dBHz";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt13 = new SDOStatsElememt();
                             elememt13.Value = num21.ToString("F2");
                             hashtable2.Add(str9, elememt13);
                         }
                         str9 = "CNo Max|dBHz";
                         if (!hashtable2.ContainsKey(str9))
                         {
                             SDOStatsElememt elememt14 = new SDOStatsElememt();
                             elememt14.Value = num22.ToString("F2");
                             hashtable2.Add(str9, elememt14);
                         }
                         this.printResultStats(s, hashtable2);
                         reader.Close();
                         reader = null;
                         s.Close();
                         s = null;
                         hashtable2.Clear();
                         hashtable2 = null;
                     }
                 }
                 catch (Exception exception)
                 {
                     if (reader != null)
                     {
                         reader.Close();
                         reader = null;
                     }
                     if (s != null)
                     {
                         s.Close();
                         s = null;
                     }
                     if (hashtable2 != null)
                     {
                         hashtable2.Clear();
                         hashtable2 = null;
                     }
                     if (dH != null)
                     {
                         dH.Clear();
                         dH = null;
                     }
                     if (elements != null)
                     {
                         elements.Dispose();
                         dH = null;
                     }
                     throw exception;
                 }
             }
         }
     }
 }
Beispiel #11
0
 public void Summary_TIA916(string dir)
 {
     Hashtable hashtable = new Hashtable();
     int index = 8;
     int num2 = index + 1;
     int num3 = num2 + 3;
     int num4 = num3 + 3;
     int num5 = num4 + 5;
     int num6 = 12;
     int num7 = (num6 + num5) + 1;
     double sample = 0.0;
     string path = dir + @"\summary_TIA916.xml";
     StreamWriter f = new StreamWriter(path);
     try
     {
         FileInfo[] files = new DirectoryInfo(dir).GetFiles("*.csv");
         if (files.Length != 0)
         {
             foreach (FileInfo info2 in files)
             {
                 Header1DataClass class2;
                 PerEnvReport report;
                 ReportElements elements;
                 StreamReader reader = info2.OpenText();
                 string name = info2.Name;
                 string pattern = @"_(com|COM|tcp|TCP|i2c|I2C)\d+_(?<testName>\w+)_(?<margin>\d+p\d?)";
                 Regex regex = new Regex(pattern, RegexOptions.Compiled);
                 bool flag = regex.IsMatch(name);
                 string key = "Unknown";
                 string str5 = "Unknown";
                 if (flag)
                 {
                     key = regex.Match(name).Result("${margin}").Replace('p', '.');
                     str5 = regex.Match(name).Result("${testName}");
                 }
                 string str6 = string.Empty;
                 string input = reader.ReadLine();
                 if (input != null)
                 {
                     pattern = @"SW Version\s*=\s*(?<swVer>.*)";
                     Regex regex2 = new Regex(pattern, RegexOptions.Compiled);
                     if (regex2.IsMatch(input))
                     {
                         str6 = regex2.Match(input).Result("${swVer}");
                     }
                     else
                     {
                         str6 = "SW Version= Not detected";
                     }
                 }
                 else
                 {
                     str6 = "SW Version= Not detected";
                 }
                 if (hashtable.Contains(str6))
                 {
                     class2 = (Header1DataClass) hashtable[str6];
                 }
                 else
                 {
                     Header1DataClass class3 = new Header1DataClass();
                     hashtable.Add(str6, class3);
                     class2 = (Header1DataClass) hashtable[str6];
                 }
                 if (class2.Header2DataHash.Contains(str5))
                 {
                     report = (PerEnvReport) class2.Header2DataHash[str5];
                 }
                 else
                 {
                     PerEnvReport report2 = new PerEnvReport();
                     class2.Header2DataHash.Add(str5, report2);
                     report = (PerEnvReport) class2.Header2DataHash[str5];
                 }
                 if (report.PerSiteData.Contains(key))
                 {
                     elements = (ReportElements) report.PerSiteData[key];
                 }
                 else
                 {
                     ReportElements elements2 = new ReportElements();
                     report.PerSiteData.Add(key, elements2);
                     elements = (ReportElements) report.PerSiteData[key];
                 }
                 this.setTIA916_2DErrorLimit(str5);
                 input = reader.ReadLine();
                 string str8 = "N/A";
                 Hashtable hashtable2 = new Hashtable();
                 int num9 = 0;
                 if (input != null)
                 {
                     string[] strArray = input.Split(new char[] { '=' });
                     if (strArray.Length > 1)
                     {
                         str8 = strArray[1] + "_" + str5;
                         if (this.perRxSetupData.ContainsKey(str8))
                         {
                             goto Label_0356;
                         }
                         hashtable2.Add("Test", str5);
                         if (strArray.Length > 1)
                         {
                             hashtable2.Add(strArray[0], strArray[1]);
                         }
                         while ((input = reader.ReadLine()) != null)
                         {
                             if (input == "End Summary")
                             {
                                 break;
                             }
                             if (input != string.Empty)
                             {
                                 strArray = input.Split(new char[] { '=' });
                                 if (strArray.Length > 1)
                                 {
                                     hashtable2.Add(strArray[0], strArray[1]);
                                 }
                                 num9++;
                             }
                         }
                         this.perRxSetupData.Add(str8, hashtable2);
                     }
                 }
                 goto Label_0362;
             Label_0334:
                 if (input == "End Summary")
                 {
                     goto Label_0362;
                 }
                 if (!(input == string.Empty))
                 {
                     num9++;
                 }
             Label_0356:
                 if ((input = reader.ReadLine()) != null)
                 {
                     goto Label_0334;
                 }
             Label_0362:
                 input = reader.ReadLine();
                 for (input = reader.ReadLine(); input != null; input = reader.ReadLine())
                 {
                     string[] strArray2 = input.Split(new char[] { ',' });
                     double num10 = -9999.0;
                     if (strArray2.Length >= 5)
                     {
                         double num11 = Convert.ToDouble(strArray2[this._ttffReportType]);
                         double num12 = Convert.ToDouble(strArray2[index]);
                         double num13 = Convert.ToDouble(this._limitVal);
                         double num14 = 0.0;
                         string[] strArray3 = this._hrErrLimit.Split(new char[] { ',' });
                         int num15 = -1;
                         try
                         {
                             num15 = Convert.ToInt32(strArray2[num7]);
                         }
                         catch
                         {
                         }
                         if (str5.Contains("TEST5"))
                         {
                             num13 = 240.0;
                         }
                         if (strArray3.Length > 0)
                         {
                             num14 = Convert.ToDouble(strArray3[strArray3.Length - 1]);
                         }
                         else
                         {
                             num14 = Convert.ToDouble(strArray3[0]);
                         }
                         if (num11 <= 0.0)
                         {
                             elements.NumberOfTTFFMisses++;
                         }
                         else if (num11 == Convert.ToDouble(this._timeoutVal))
                         {
                             elements.NumberOfTTFFMisses++;
                         }
                         else if (num11 > num13)
                         {
                             elements.NumberOfTTFFOutOfLimits++;
                         }
                         if (num12 <= 0.0)
                         {
                             elements.NumberOf2DMisses++;
                         }
                         if (num12 > num14)
                         {
                             elements.NumberOf2DOutOfLimits++;
                         }
                         if (num11 <= 0.0)
                         {
                             elements.NumberOfMisses++;
                         }
                         else if (num11 > num13)
                         {
                             elements.NumberOfMisses++;
                         }
                         else if (num12 <= 0.0)
                         {
                             elements.NumberOfMisses++;
                         }
                         else if (num12 > num14)
                         {
                             elements.NumberOfMisses++;
                         }
                         double num16 = Convert.ToDouble(strArray2[num3]);
                         if (num16 != -9999.0)
                         {
                             num10 = Math.Abs((double) (num16 - Convert.ToDouble(strArray2[num4])));
                         }
                         if ((num15 >= 0) && (num15 <= 3))
                         {
                             elements.NumberOfSVInFix++;
                         }
                         elements.TTFFSamples.InsertSample(num11);
                         elements.Position2DErrorSamples.InsertSample(num12);
                         elements.VerticalErrorSamples.InsertSample(num10);
                         report.PerEnvSamples.TTFFSamples.InsertSample(num11);
                         report.PerEnvSamples.Position2DErrorSamples.InsertSample(num12);
                         report.PerEnvSamples.VerticalErrorSamples.InsertSample(num10);
                         class2.ReportDataSamples.TTFFSamples.InsertSample(num11);
                         class2.ReportDataSamples.Position2DErrorSamples.InsertSample(num12);
                         class2.ReportDataSamples.VerticalErrorSamples.InsertSample(num10);
                         for (int i = 0; i < num6; i++)
                         {
                             sample = Convert.ToDouble(strArray2[num5 + i]);
                             if (sample != 0.0)
                             {
                                 elements.CNOSamples.InsertSample(sample);
                                 report.PerEnvSamples.CNOSamples.InsertSample(sample);
                                 class2.ReportDataSamples.CNOSamples.InsertSample(sample);
                             }
                         }
                     }
                 }
                 reader.Close();
             }
             f.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
             f.WriteLine("<TIA916>");
             string limitStr = this._ttffLimit;
             foreach (string str10 in hashtable.Keys)
             {
                 Header1DataClass class4 = (Header1DataClass) hashtable[str10];
                 f.WriteLine("\t<swVersion name=\"{0}\">", str10);
                 int item = 0;
                 foreach (string str11 in class4.Header2DataHash.Keys)
                 {
                     this.setTIA916_2DErrorLimit(str11);
                     if (str11.Contains("TEST1"))
                     {
                         item = 0;
                     }
                     else if (str11.Contains("TEST2"))
                     {
                         item = 1;
                     }
                     else if (str11.Contains("TEST3"))
                     {
                         item = 2;
                     }
                     else if (str11.Contains("TEST4"))
                     {
                         item = 3;
                     }
                     else if (str11.Contains("TEST5"))
                     {
                         item = 4;
                         limitStr = "240";
                     }
                     PerEnvReport report3 = (PerEnvReport) class4.Header2DataHash[str11];
                     f.WriteLine("\t\t<environment name=\"{0}\">", str11);
                     ArrayList list = new ArrayList();
                     foreach (string str12 in report3.PerSiteData.Keys)
                     {
                         list.Add(str12);
                     }
                     list.Sort();
                     foreach (string str13 in list)
                     {
                         ReportElements elements3 = (ReportElements) report3.PerSiteData[str13];
                         f.WriteLine("\t\t\t<site number=\"{0}\">", str13);
                         List<int> data = new List<int>();
                         data.Add(item);
                         data.Add(elements3.NumberOfSVInFix);
                         data.Add(elements3.NumberOfMisses);
                         data.Add(elements3.NumberOfTTFFMisses);
                         data.Add(elements3.NumberOfTTFFOutOfLimits);
                         data.Add(elements3.NumberOf2DMisses);
                         data.Add(elements3.NumberOf2DOutOfLimits);
                         this.printTIA916Summary(f, elements3.Position2DErrorSamples, elements3.TTFFSamples, data);
                         this.printSampleData(f, elements3.TTFFSamples, this._percentile, limitStr, Convert.ToDouble(this._timeoutVal), "TTFF", "sec");
                         this.printSampleData(f, elements3.Position2DErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "2-D Error", "m");
                         this.printSampleData(f, elements3.VerticalErrorSamples, this._percentile, "", -9999.0, "Vertical Error", "m");
                         this.printSampleData(f, elements3.CNOSamples, this._percentile, "", -9999.0, "CNO", "dbHz");
                         f.WriteLine("\t\t\t</site>");
                     }
                     f.WriteLine("\t\t</environment>");
                 }
                 f.WriteLine("\t</swVersion>");
             }
             this.printTestSetup(f);
             f.WriteLine("</TIA916>");
             f.Close();
             hashtable.Clear();
             this.perRxSetupData.Clear();
             string outputFile = dir + @"\summary_TIA916.html";
             this.GenerateHTMLReport(path, outputFile, ConfigurationManager.AppSettings["InstalledDirectory"] + @"\scripts\TIA916\TIA916Report.xsl");
         }
     }
     catch (Exception exception)
     {
         this.perRxSetupData.Clear();
         hashtable.Clear();
         f.Close();
         MessageBox.Show(exception.Message, "ERROR");
     }
 }
Beispiel #12
0
        public void Summary_Reset_V2(string dir)
        {
            int index = 8;
            int num2 = index + 1;
            int num3 = num2 + 3;
            int num4 = num3 + 3;
            int num5 = num4 + 5;
            int num6 = 12;
            int num7 = (num6 + num5) + 1;
            double sample = 0.0;
            StreamReader reader = null;
            try
            {
                FileInfo[] files = new DirectoryInfo(dir).GetFiles("*.csv");
                if (files.Length != 0)
                {
                    foreach (FileInfo info2 in files)
                    {
                        string str8;
                        reader = info2.OpenText();
                        string name = info2.Name;
                        string pattern = @"_(com|COM|tcp|TCP|i2c|I2C)\d+_(reset)*(?<testName>\w+)_(?<cno>-?\d+\.*\d?)";
                        Regex regex = new Regex(pattern, RegexOptions.Compiled);
                        bool flag = regex.IsMatch(name);
                        string key = "Unknown";
                        string str4 = "Unknown";
                        if (flag)
                        {
                            key = regex.Match(name).Result("${cno}");
                            str4 = regex.Match(name).Result("${testName}");
                        }
                        string str5 = string.Empty;
                        string input = reader.ReadLine();
                        if (input != null)
                        {
                            pattern = @"SW Version\s*=\s*(?<swVer>.*)";
                            Regex regex2 = new Regex(pattern, RegexOptions.Compiled);
                            if (regex2.IsMatch(input))
                            {
                                str5 = regex2.Match(input).Result("${swVer}");
                            }
                            else
                            {
                                str5 = "SW Version: Not detected";
                            }
                        }
                        else
                        {
                            str5 = "SW Version: Not detected";
                        }
                        input = reader.ReadLine();
                        string str7 = "N/A";
                        Hashtable hashtable = new Hashtable();
                        int num9 = 0;
                        if (input != null)
                        {
                            string[] strArray = input.Split(new char[] { '=' });
                            if (strArray.Length > 1)
                            {
                                str7 = strArray[1];
                                if (this.perRxSetupData.ContainsKey(str7))
                                {
                                    goto Label_0217;
                                }
                                if (strArray.Length > 1)
                                {
                                    hashtable.Add(strArray[0], strArray[1]);
                                }
                                while ((input = reader.ReadLine()) != null)
                                {
                                    if (input == "End Summary")
                                    {
                                        break;
                                    }
                                    if (input != string.Empty)
                                    {
                                        strArray = input.Split(new char[] { '=' });
                                        if (strArray.Length > 1)
                                        {
                                            hashtable.Add(strArray[0], strArray[1]);
                                        }
                                        num9++;
                                    }
                                }
                                this.perRxSetupData.Add(str7, hashtable);
                            }
                        }
                        goto Label_0223;
                    Label_0209:
                        if (input == "End Summary")
                        {
                            goto Label_0223;
                        }
                    Label_0217:
                        if ((input = reader.ReadLine()) != null)
                        {
                            goto Label_0209;
                        }
                    Label_0223:
                        str8 = string.Empty;
                        Header1DataClass class2 = null;
                        PerEnvReport report = null;
                        switch (this.ReportLayout)
                        {
                            case ReportLayoutType.GroupBySWVersion:
                                str8 = key;
                                if (!this.reportDataHash.Contains(str5))
                                {
                                    Header1DataClass class3 = new Header1DataClass();
                                    this.reportDataHash.Add(str5, class3);
                                }
                                class2 = (Header1DataClass) this.reportDataHash[str5];
                                if (!class2.Header2DataHash.Contains(str4))
                                {
                                    PerEnvReport report2 = new PerEnvReport();
                                    class2.Header2DataHash.Add(str4, report2);
                                }
                                report = (PerEnvReport) class2.Header2DataHash[str4];
                                if (!report.PerSiteData.Contains(key))
                                {
                                    ReportElements elements = new ReportElements();
                                    report.PerSiteData.Add(key, elements);
                                }
                                class2.Header2DataHash[str4] = report;
                                this.reportDataHash[str5] = class2;
                                break;

                            case ReportLayoutType.GroupByResetType:
                                str8 = str7;
                                if (!this.reportDataHash.Contains(str4))
                                {
                                    Header1DataClass class4 = new Header1DataClass();
                                    this.reportDataHash.Add(str4, class4);
                                }
                                class2 = (Header1DataClass) this.reportDataHash[str4];
                                if (!class2.Header2DataHash.Contains(key))
                                {
                                    PerEnvReport report3 = new PerEnvReport();
                                    class2.Header2DataHash.Add(key, report3);
                                }
                                report = (PerEnvReport) class2.Header2DataHash[key];
                                if (!report.PerSiteData.Contains(str7))
                                {
                                    ReportElements elements2 = new ReportElements();
                                    report.PerSiteData.Add(str7, elements2);
                                }
                                class2.Header2DataHash[key] = report;
                                this.reportDataHash[str4] = class2;
                                break;

                            default:
                                str8 = string.Empty;
                                break;
                        }
                        if (str8 != string.Empty)
                        {
                            ReportElements elements3 = (ReportElements) report.PerSiteData[str8];
                            input = reader.ReadLine();
                            for (input = reader.ReadLine(); input != null; input = reader.ReadLine())
                            {
                                string[] strArray2 = input.Split(new char[] { ',' });
                                double num10 = -9999.0;
                                if (strArray2.Length >= 5)
                                {
                                    double num11 = Convert.ToDouble(strArray2[this._ttffReportType]);
                                    double num12 = Convert.ToDouble(strArray2[index]);
                                    double num13 = Convert.ToDouble(this._limitVal);
                                    string[] strArray3 = this._hrErrLimit.Split(new char[] { ',' });
                                    int num14 = -1;
                                    try
                                    {
                                        num14 = Convert.ToInt32(strArray2[num7]);
                                    }
                                    catch
                                    {
                                    }
                                    if (strArray3.Length > 0)
                                    {
                                        Convert.ToDouble(strArray3[strArray3.Length - 1]);
                                    }
                                    else
                                    {
                                        Convert.ToDouble(strArray3[0]);
                                    }
                                    if (num11 <= 0.0)
                                    {
                                        elements3.NumberOfMisses++;
                                    }
                                    else if (num11 >= num13)
                                    {
                                        elements3.NumberOfMisses++;
                                    }
                                    double num15 = Convert.ToDouble(strArray2[num3]);
                                    if (num15 != -9999.0)
                                    {
                                        num10 = Math.Abs((double) (num15 - Convert.ToDouble(strArray2[num4])));
                                    }
                                    if ((num14 >= 0) && (num14 <= 3))
                                    {
                                        elements3.NumberOfSVInFix++;
                                    }
                                    try
                                    {
                                        elements3.TTFFSamples.InsertSample(num11);
                                        elements3.Position2DErrorSamples.InsertSample(num12);
                                        elements3.VerticalErrorSamples.InsertSample(num10);
                                        for (int i = 0; i < num6; i++)
                                        {
                                            sample = Convert.ToDouble(strArray2[num5 + i]);
                                            if (sample != 0.0)
                                            {
                                                elements3.CNOSamples.InsertSample(sample);
                                            }
                                        }
                                    }
                                    catch (FormatException exception)
                                    {
                                        exception.ToString();
                                    }
                                }
                            }
                            reader.Close();
                        }
                    }
                    this.writeResetSummaryXMLFile(dir, this.ReportLayout);
                }
            }
            catch (Exception exception2)
            {
                if (reader != null)
                {
                    reader.Close();
                }
                this.perRxSetupData.Clear();
                this.reportDataHash.Clear();
                MessageBox.Show(exception2.Message, "ERROR");
            }
        }
Beispiel #13
0
 public void Summary_Reset(string dir)
 {
     frmResetTestReportPlots plots = new frmResetTestReportPlots();
     new ZedGraphControl();
     Hashtable hashtable = new Hashtable();
     int index = 8;
     int num2 = index + 1;
     int num3 = num2 + 3;
     int num4 = num3 + 3;
     int num5 = num4 + 5;
     int num6 = 12;
     int num7 = (num6 + num5) + 1;
     double sample = 0.0;
     string path = dir + @"\summary_reset.xml";
     StreamWriter f = new StreamWriter(path);
     try
     {
         FileInfo[] files = new DirectoryInfo(dir).GetFiles("*.csv");
         if (files.Length != 0)
         {
             foreach (FileInfo info2 in files)
             {
                 Header1DataClass class2;
                 PerEnvReport report;
                 ReportElements elements;
                 StreamReader reader = info2.OpenText();
                 string name = info2.Name;
                 string pattern = @"_(com|COM|tcp|TCP|i2c|I2C)\d+_(reset)*(?<testName>\w+)_(?<cno>-?\d+\.*\d?)";
                 Regex regex = new Regex(pattern, RegexOptions.Compiled);
                 bool flag = regex.IsMatch(name);
                 string key = "Unknown";
                 string str5 = "Unknown";
                 if (flag)
                 {
                     key = regex.Match(name).Result("${cno}");
                     str5 = regex.Match(name).Result("${testName}");
                 }
                 string str6 = string.Empty;
                 string input = reader.ReadLine();
                 if (input != null)
                 {
                     pattern = @"SW Version=\s*(?<swVer>.*)";
                     Regex regex2 = new Regex(pattern, RegexOptions.Compiled);
                     if (regex2.IsMatch(input))
                     {
                         str6 = regex2.Match(input).Result("${swVer}");
                     }
                     else
                     {
                         str6 = "SW Version= Not detected";
                     }
                 }
                 else
                 {
                     str6 = "SW Version= Not detected";
                 }
                 if (hashtable.Contains(str6))
                 {
                     class2 = (Header1DataClass) hashtable[str6];
                 }
                 else
                 {
                     Header1DataClass class3 = new Header1DataClass();
                     hashtable.Add(str6, class3);
                     class2 = (Header1DataClass) hashtable[str6];
                 }
                 if (class2.Header2DataHash.Contains(str5))
                 {
                     report = (PerEnvReport) class2.Header2DataHash[str5];
                 }
                 else
                 {
                     PerEnvReport report2 = new PerEnvReport();
                     class2.Header2DataHash.Add(str5, report2);
                     report = (PerEnvReport) class2.Header2DataHash[str5];
                 }
                 if (report.PerSiteData.Contains(key))
                 {
                     elements = (ReportElements) report.PerSiteData[key];
                 }
                 else
                 {
                     ReportElements elements2 = new ReportElements();
                     report.PerSiteData.Add(key, elements2);
                     elements = (ReportElements) report.PerSiteData[key];
                 }
                 input = reader.ReadLine();
                 string str8 = "N/A";
                 Hashtable hashtable2 = new Hashtable();
                 int num9 = 0;
                 if (input != null)
                 {
                     string[] strArray = input.Split(new char[] { '=' });
                     if (strArray.Length > 1)
                     {
                         str8 = strArray[1];
                         if (this.perRxSetupData.ContainsKey(str8))
                         {
                             goto Label_0323;
                         }
                         if (strArray.Length > 1)
                         {
                             hashtable2.Add(strArray[0], strArray[1]);
                         }
                         while ((input = reader.ReadLine()) != null)
                         {
                             if (input == "End Summary")
                             {
                                 break;
                             }
                             if (input != string.Empty)
                             {
                                 strArray = input.Split(new char[] { '=' });
                                 if (strArray.Length > 1)
                                 {
                                     hashtable2.Add(strArray[0], strArray[1]);
                                 }
                                 num9++;
                             }
                         }
                         this.perRxSetupData.Add(str8, hashtable2);
                     }
                 }
                 goto Label_032F;
             Label_0315:
                 if (input == "End Summary")
                 {
                     goto Label_032F;
                 }
             Label_0323:
                 if ((input = reader.ReadLine()) != null)
                 {
                     goto Label_0315;
                 }
             Label_032F:
                 elements.RxName = str8;
                 input = reader.ReadLine();
                 for (input = reader.ReadLine(); input != null; input = reader.ReadLine())
                 {
                     string[] strArray2 = input.Split(new char[] { ',' });
                     double num10 = -9999.0;
                     if (strArray2.Length >= 5)
                     {
                         double num11 = Convert.ToDouble(strArray2[this._ttffReportType]);
                         double num12 = Convert.ToDouble(strArray2[index]);
                         double num13 = Convert.ToDouble(this._limitVal);
                         string[] strArray3 = this._hrErrLimit.Split(new char[] { ',' });
                         int num14 = -1;
                         try
                         {
                             num14 = Convert.ToInt32(strArray2[num7]);
                         }
                         catch
                         {
                         }
                         if (strArray3.Length > 0)
                         {
                             Convert.ToDouble(strArray3[strArray3.Length - 1]);
                         }
                         else
                         {
                             Convert.ToDouble(strArray3[0]);
                         }
                         if (num11 <= 0.0)
                         {
                             elements.NumberOfMisses++;
                         }
                         else if (num11 >= num13)
                         {
                             elements.NumberOfMisses++;
                         }
                         double num15 = Convert.ToDouble(strArray2[num3]);
                         if (num15 != -9999.0)
                         {
                             num10 = Math.Abs((double) (num15 - Convert.ToDouble(strArray2[num4])));
                         }
                         if ((num14 >= 0) && (num14 <= 3))
                         {
                             elements.NumberOfSVInFix++;
                         }
                         try
                         {
                             elements.TTFFSamples.InsertSample(num11);
                             elements.Position2DErrorSamples.InsertSample(num12);
                             elements.VerticalErrorSamples.InsertSample(num10);
                             report.PerEnvSamples.TTFFSamples.InsertSample(num11);
                             report.PerEnvSamples.Position2DErrorSamples.InsertSample(num12);
                             report.PerEnvSamples.VerticalErrorSamples.InsertSample(num10);
                             class2.ReportDataSamples.TTFFSamples.InsertSample(num11);
                             class2.ReportDataSamples.Position2DErrorSamples.InsertSample(num12);
                             class2.ReportDataSamples.VerticalErrorSamples.InsertSample(num10);
                             for (int i = 0; i < num6; i++)
                             {
                                 sample = Convert.ToDouble(strArray2[num5 + i]);
                                 if (sample != 0.0)
                                 {
                                     elements.CNOSamples.InsertSample(sample);
                                     report.PerEnvSamples.CNOSamples.InsertSample(sample);
                                     class2.ReportDataSamples.CNOSamples.InsertSample(sample);
                                 }
                             }
                         }
                         catch (FormatException exception)
                         {
                             exception.ToString();
                         }
                     }
                 }
                 reader.Close();
             }
             f.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
             f.WriteLine("<reset>");
             int styleCt = 0;
             List<string> il = new List<string>();
             foreach (string str9 in hashtable.Keys)
             {
                 Header1DataClass class4 = (Header1DataClass) hashtable[str9];
                 f.WriteLine("\t<swVersion name=\"{0}\">", str9);
                 foreach (string str10 in class4.Header2DataHash.Keys)
                 {
                     plots.PaneTitle = str9 + "\r\n" + str10;
                     plots.CreateCharts();
                     GraphPane myPane = plots.AddPane("TTFF Resets", "Secs");
                     GraphPane pane2 = plots.AddPane("2-D Error", "Meters");
                     GraphPane pane3 = plots.AddPane("Verical Error", "Meters");
                     PerEnvReport report3 = (PerEnvReport) class4.Header2DataHash[str10];
                     styleCt++;
                     string item = str10 + styleCt.ToString() + ".jpg";
                     string str12 = "Style" + styleCt.ToString();
                     il.Add(item);
                     f.WriteLine("\t\t<environment name=\"{0}\" plotImage=\"{1}\"  showpicturestyle=\"{2}\">", str10, item, str12);
                     ArrayList list2 = new ArrayList();
                     foreach (string str13 in report3.PerSiteData.Keys)
                     {
                         list2.Add(str13);
                     }
                     list2.Sort();
                     int num18 = 0;
                     foreach (string str14 in list2)
                     {
                         ReportElements elements3 = (ReportElements) report3.PerSiteData[str14];
                         f.WriteLine("\t\t\t<site number=\"{0}\">", str14);
                         this.printResetSummary(f, elements3.TTFFSamples.Samples, elements3.NumberOfMisses, elements3.NumberOfSVInFix);
                         this.printSampleData(f, elements3.TTFFSamples, this._percentile, this._ttffLimit, Convert.ToDouble(this._timeoutVal), "TTFF", "sec");
                         plots.AddCurve(myPane, elements3.TTFFSamples, elements3.TTFFSamples.Samples, str14);
                         this.printSampleData(f, elements3.Position2DErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "2-D Error", "m");
                         plots.AddCurve(pane2, elements3.Position2DErrorSamples, elements3.Position2DErrorSamples.Samples, str14);
                         this.printSampleData(f, elements3.VerticalErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "Vertical Error", "m");
                         plots.AddCurve(pane3, elements3.VerticalErrorSamples, elements3.VerticalErrorSamples.Samples, str14);
                         this.printSampleData(f, elements3.CNOSamples, this._percentile, "", -9999.0, "CNO", "dbHz");
                         f.WriteLine("\t\t\t</site>");
                         num18++;
                     }
                     plots.RefreshGraph();
                     plots.SaveGraphToFile(dir, item);
                     plots.PaneTitle = string.Empty;
                     f.WriteLine("\t\t</environment>");
                 }
                 f.WriteLine("\t</swVersion>");
             }
             this.modifyResetReportCSS(dir, styleCt);
             this.printTestSetup(f);
             this.printImageList(f, il);
             f.WriteLine("</reset>");
             f.Close();
             hashtable.Clear();
             this.perRxSetupData.Clear();
             string outputFile = dir + @"\summary_reset.html";
             this.GenerateHTMLReport(path, outputFile, ConfigurationManager.AppSettings["InstalledDirectory"] + @"\scripts\resetReport.xsl");
         }
     }
     catch (Exception exception2)
     {
         this.perRxSetupData.Clear();
         hashtable.Clear();
         f.Close();
         MessageBox.Show(exception2.Message, "ERROR");
     }
 }
Beispiel #14
0
        public void E911_Summary(string dir)
        {
            Hashtable hashtable = new Hashtable();
            int index = 8;
            int num2 = index + 1;
            int num3 = num2 + 3;
            int num4 = num3 + 3;
            int num5 = num4 + 5;
            int num6 = 12;
            double sample = 0.0;
            string path = dir + @"\summary_e911.xml";
            StreamWriter f = new StreamWriter(path);
            try
            {
                if (!Directory.Exists(dir))
                {
                    MessageBox.Show(string.Format("Directory Not Found!\n\n{0}", dir), "Report Error", MessageBoxButtons.OK, MessageBoxIcon.Hand);
                }
                else
                {
                    FileInfo[] files = new DirectoryInfo(dir).GetFiles("*.csv");
                    if (files.Length != 0)
                    {
                        foreach (FileInfo info2 in files)
                        {
                            Header1DataClass class2;
                            PerEnvReport report;
                            ReportElements elements;
                            StreamReader reader = info2.OpenText();
                            string name = info2.Name;
                            string pattern = @"_Idx\d+_(?<site>\w+_Site\d+)(?<subName>\D*)_";
                            Regex regex = new Regex(pattern, RegexOptions.Compiled);
                            bool flag = regex.IsMatch(name);
                            string key = "Unknown";
                            string str5 = "Unknown";
                            if (flag)
                            {
                                key = regex.Match(name).Result("${site}");
                                str5 = regex.Match(name).Result("${subName}");
                            }
                            string str6 = string.Empty;
                            string str7 = string.Empty;
                            switch (key)
                            {
                                case "Seattle_Site101":
                                case "Seattle_Site107":
                                case "Dallas_Site115":
                                case "Dallas_Site116":
                                    str7 = "Indoor";
                                    break;

                                case "Seattle_Site11":
                                case "Seattle_Site19":
                                case "Seattle_Site23":
                                case "Dallas_Site106":
                                case "Dallas_Site105":
                                case "Dallas_Site107":
                                case "Dallas_Site108":
                                    str7 = "Urban";
                                    break;

                                case "Seattle_Site4":
                                case "Seattle_Site29":
                                case "Dallas_Site109":
                                case "Dallas_Site110":
                                case "Dallas_Site112":
                                    str7 = "Suburban";
                                    break;

                                case "Seattle_Site17":
                                case "Seattle_Site20":
                                case "Seattle_Site25":
                                case "Dallas_Site101":
                                case "Dallas_Site102":
                                case "Dallas_Site103":
                                case "Dallas_Site104":
                                    str7 = "Dense Urban";
                                    break;

                                case "Seattle_Site3":
                                case "Seattle_Site103":
                                case "Seattle_Site105":
                                case "Dallas_Site111":
                                case "Dallas_Site113":
                                case "Dallas_Site114":
                                    str7 = "Rural";
                                    break;

                                default:
                                    str7 = str5;
                                    key = str5;
                                    break;
                            }
                            string input = reader.ReadLine();
                            if (input != null)
                            {
                                pattern = @"SW Version\s*=\s*(?<swVer>.*)";
                                Regex regex2 = new Regex(pattern, RegexOptions.Compiled);
                                if (regex2.IsMatch(input))
                                {
                                    str6 = regex2.Match(input).Result("${swVer}");
                                }
                                else
                                {
                                    str6 = "SW Version: Not detected";
                                }
                            }
                            else
                            {
                                str6 = "SW Version: Not detected";
                            }
                            if (hashtable.Contains(str6))
                            {
                                class2 = (Header1DataClass) hashtable[str6];
                            }
                            else
                            {
                                Header1DataClass class3 = new Header1DataClass();
                                hashtable.Add(str6, class3);
                                class2 = (Header1DataClass) hashtable[str6];
                            }
                            if (class2.Header2DataHash.Contains(str7))
                            {
                                report = (PerEnvReport) class2.Header2DataHash[str7];
                            }
                            else
                            {
                                PerEnvReport report2 = new PerEnvReport();
                                class2.Header2DataHash.Add(str7, report2);
                                report = (PerEnvReport) class2.Header2DataHash[str7];
                            }
                            if (report.PerSiteData.Contains(key))
                            {
                                elements = (ReportElements) report.PerSiteData[key];
                            }
                            else
                            {
                                ReportElements elements2 = new ReportElements();
                                report.PerSiteData.Add(key, elements2);
                                elements = (ReportElements) report.PerSiteData[key];
                            }
                            input = reader.ReadLine();
                            string str9 = "N/A";
                            Hashtable hashtable2 = new Hashtable();
                            int num8 = 0;
                            if (input != null)
                            {
                                string[] strArray = input.Split(new char[] { '=' });
                                if (strArray.Length > 1)
                                {
                                    str9 = strArray[1];
                                    if (this.perRxSetupData.ContainsKey(str9))
                                    {
                                        goto Label_0595;
                                    }
                                    if (strArray.Length > 1)
                                    {
                                        hashtable2.Add(strArray[0], strArray[1]);
                                    }
                                    while ((input = reader.ReadLine()) != null)
                                    {
                                        if (input == "End Summary")
                                        {
                                            break;
                                        }
                                        strArray = input.Split(new char[] { '=' });
                                        if (strArray.Length > 1)
                                        {
                                            hashtable2.Add(strArray[0], strArray[1]);
                                        }
                                        num8++;
                                    }
                                    this.perRxSetupData.Add(str9, hashtable2);
                                }
                            }
                            goto Label_0746;
                        Label_0579:
                            if (input == "End Summary")
                            {
                                input = reader.ReadLine();
                                goto Label_0746;
                            }
                        Label_0595:
                            if ((input = reader.ReadLine()) != null)
                            {
                                goto Label_0579;
                            }
                        Label_0746:
                            while (input != null)
                            {
                                if (input.Contains("Time,"))
                                {
                                    input = reader.ReadLine();
                                    input = reader.ReadLine();
                                }
                                else
                                {
                                    string[] strArray2 = input.Split(new char[] { ',' });
                                    double num9 = -9999.0;
                                    if (strArray2.Length >= 5)
                                    {
                                        double num10 = Convert.ToDouble(strArray2[this._ttffReportType]);
                                        double num11 = Convert.ToDouble(strArray2[index]);
                                        double num12 = Convert.ToDouble(strArray2[num3]);
                                        if (num12 != -9999.0)
                                        {
                                            num9 = Math.Abs((double) (num12 - Convert.ToDouble(strArray2[num4])));
                                        }
                                        elements.TTFFSamples.InsertSample(num10);
                                        elements.Position2DErrorSamples.InsertSample(num11);
                                        elements.VerticalErrorSamples.InsertSample(num9);
                                        report.PerEnvSamples.TTFFSamples.InsertSample(num10);
                                        report.PerEnvSamples.Position2DErrorSamples.InsertSample(num11);
                                        report.PerEnvSamples.VerticalErrorSamples.InsertSample(num9);
                                        class2.ReportDataSamples.TTFFSamples.InsertSample(num10);
                                        class2.ReportDataSamples.Position2DErrorSamples.InsertSample(num11);
                                        class2.ReportDataSamples.VerticalErrorSamples.InsertSample(num9);
                                        for (int i = 0; i < num6; i++)
                                        {
                                            sample = Convert.ToDouble(strArray2[num5 + i]);
                                            if (sample != 0.0)
                                            {
                                                elements.CNOSamples.InsertSample(sample);
                                                report.PerEnvSamples.CNOSamples.InsertSample(sample);
                                                class2.ReportDataSamples.CNOSamples.InsertSample(sample);
                                            }
                                        }
                                    }
                                    input = reader.ReadLine();
                                }
                            }
                            reader.Close();
                        }
                        f.WriteLine("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
                        f.WriteLine("<e911>");
                        foreach (string str10 in hashtable.Keys)
                        {
                            Header1DataClass class4 = (Header1DataClass) hashtable[str10];
                            f.WriteLine("\t<swVersion name=\"{0}\">", str10);
                            foreach (string str11 in class4.Header2DataHash.Keys)
                            {
                                PerEnvReport report3 = (PerEnvReport) class4.Header2DataHash[str11];
                                f.WriteLine("\t\t<environment name=\"{0}\">", str11);
                                foreach (string str12 in report3.PerSiteData.Keys)
                                {
                                    ReportElements elements3 = (ReportElements) report3.PerSiteData[str12];
                                    f.WriteLine("\t\t\t<site number=\"{0}\">", str12);
                                    this.printE911Summary(f, elements3.TTFFSamples);
                                    this.printSampleData(f, elements3.TTFFSamples, this._percentile, this._ttffLimit, Convert.ToDouble(this._timeoutVal), "TTFF", "sec");
                                    this.printSampleData(f, elements3.Position2DErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "2-D Error", "m");
                                    this.printSampleData(f, elements3.VerticalErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "Vertical Error", "m");
                                    this.printSampleData(f, elements3.CNOSamples, this._percentile, "", 0.0, "CNO", "dbHz");
                                    f.WriteLine("\t\t\t</site>");
                                }
                                f.WriteLine("\t\t\t<average>");
                                this.printE911Summary(f, report3.PerEnvSamples.TTFFSamples);
                                this.printSampleData(f, report3.PerEnvSamples.TTFFSamples, this._percentile, this._ttffLimit, Convert.ToDouble(this._timeoutVal), "TTFF", "sec");
                                this.printSampleData(f, report3.PerEnvSamples.Position2DErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "2-D Error", "m");
                                this.printSampleData(f, report3.PerEnvSamples.VerticalErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "Vertical Error", "m");
                                this.printSampleData(f, report3.PerEnvSamples.CNOSamples, this._percentile, "", 0.0, "CNO", "dbHz");
                                f.WriteLine("\t\t\t</average>");
                                f.WriteLine("\t\t</environment>");
                            }
                            f.WriteLine("\t\t<summary>");
                            this.printE911Summary(f, class4.ReportDataSamples.TTFFSamples);
                            this.printSampleData(f, class4.ReportDataSamples.TTFFSamples, this._percentile, this._ttffLimit, Convert.ToDouble(this._timeoutVal), "TTFF", "sec");
                            this.printSampleData(f, class4.ReportDataSamples.Position2DErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "2-D Error", "m");
                            this.printSampleData(f, class4.ReportDataSamples.VerticalErrorSamples, this._percentile, this._hrErrLimit, -9999.0, "Vertical Error", "m");
                            this.printSampleData(f, class4.ReportDataSamples.CNOSamples, this._percentile, "", 0.0, "CNO", "dbHz");
                            f.WriteLine("\t\t</summary>");
                            f.WriteLine("\t</swVersion>");
                        }
                        this.printTestSetup(f);
                        f.WriteLine("</e911>");
                        f.Close();
                        hashtable.Clear();
                        this.perRxSetupData.Clear();
                        string outputFile = dir + @"\summary_e911.html";
                        this.GenerateHTMLReport(path, outputFile, ConfigurationManager.AppSettings["InstalledDirectory"] + @"\scripts\e911Report.xsl");
                    }
                }
            }
            catch (Exception exception)
            {
                this.perRxSetupData.Clear();
                hashtable.Clear();
                f.Close();
                MessageBox.Show(exception.Message, "ERROR");
            }
        }