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); } } }
/// <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; }
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)); } }
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); } }
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) { }
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; } } } } }
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"); } }
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"); } }
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"); } }
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"); } }