diff --git a/Adaptation/.vscode/launch.json b/Adaptation/.vscode/launch.json index 57acf40..ca8ab68 100644 --- a/Adaptation/.vscode/launch.json +++ b/Adaptation/.vscode/launch.json @@ -4,7 +4,7 @@ "name": ".NET Core Attach", "type": "coreclr", "request": "attach", - "processId": 21440 + "processId": 8912 } ] } diff --git a/Adaptation/.vscode/tasks.json b/Adaptation/.vscode/tasks.json index 55eeaca..f5fd85e 100644 --- a/Adaptation/.vscode/tasks.json +++ b/Adaptation/.vscode/tasks.json @@ -86,6 +86,18 @@ ], "problemMatcher": "$msCompile" }, + { + "label": "Project", + "type": "shell", + "command": "code ../MET08DDUPSP1TBI.csproj", + "problemMatcher": [] + }, + { + "label": "Git Config", + "type": "shell", + "command": "code ../.git/config", + "problemMatcher": [] + }, { "label": "Kanbn Console", "type": "npm", diff --git a/Adaptation/FileHandlers/txt/Constant.cs b/Adaptation/FileHandlers/txt/Constant.cs new file mode 100644 index 0000000..e5a87c3 --- /dev/null +++ b/Adaptation/FileHandlers/txt/Constant.cs @@ -0,0 +1,22 @@ +namespace Adaptation.FileHandlers.txt; + +internal class Constant +{ + + public string F1 { get; } = "F -1"; + public string Max { get; } = "Max"; + public string Min { get; } = "Min"; + public string Mean { get; } = "Mean"; + public string LotId { get; } = "Lot ID:"; + public string Session { get; } = "Session:"; + public string StdDev { get; } = "Std. Dev."; + public string DCNTotals { get; } = "DCN Totals"; + public string DNNTotals { get; } = "DNN Totals"; + public string DWNTotals { get; } = "DWN Totals"; + public string Grade { get; } = "F Grade"; + public string Reject { get; } = "F Reject"; + public string LongWaferSummary { get; } = "Long Wafer Summary"; + public string OverLoad { get; } = "F OverLoad"; + public string Empty35Spaces { get; } = " "; + +} \ No newline at end of file diff --git a/Adaptation/FileHandlers/txt/FileRead.cs b/Adaptation/FileHandlers/txt/FileRead.cs index 1403433..c90d0ed 100644 --- a/Adaptation/FileHandlers/txt/FileRead.cs +++ b/Adaptation/FileHandlers/txt/FileRead.cs @@ -94,9 +94,11 @@ public class FileRead : Shared.FileRead, IFileRead return results; } +#nullable enable + private Tuple> GetExtractResult(string reportFullPath, DateTime dateTime) { - Tuple> results = new(string.Empty, null, null, new List()); + Tuple> results = new(string.Empty, Array.Empty(), Array.Empty(), new List()); _TickOffset ??= 0; // new FileInfo(reportFullPath).LastWriteTime.Ticks - dateTime.Ticks; _Logistics = new Logistics(this, _TickOffset.Value, reportFullPath, useSplitForMID: true); SetFileParameterLotIDToLogisticsMID(); @@ -104,9 +106,12 @@ public class FileRead : Shared.FileRead, IFileRead results.Item4.Add(_Logistics.FileInfo); else { + Run? run = Run.Get(_Logistics, results.Item4); + if (run is null) + throw new Exception(string.Concat("A) No Data - ", dateTime.Ticks)); IProcessData iProcessData = new ProcessData(this, _Logistics, results.Item4); if (iProcessData is not ProcessData processData) - throw new Exception(string.Concat("A) No Data - ", dateTime.Ticks)); + throw new Exception(string.Concat("B) No Data - ", dateTime.Ticks)); string mid; if (!string.IsNullOrEmpty(processData.Lot) && string.IsNullOrEmpty(processData.Reactor) && string.IsNullOrEmpty(processData.RDS) && string.IsNullOrEmpty(processData.PSN)) mid = processData.Lot; @@ -120,7 +125,7 @@ public class FileRead : Shared.FileRead, IFileRead SetFileParameterLotID(mid); _Logistics.Update(mid, processData.Reactor); if (iProcessData.Details.Count == 0) - throw new Exception(string.Concat("B) No Data - ", dateTime.Ticks)); + throw new Exception(string.Concat("C) No Data - ", dateTime.Ticks)); results = iProcessData.GetResults(this, _Logistics, results.Item4); } return results; diff --git a/Adaptation/FileHandlers/txt/Header.cs b/Adaptation/FileHandlers/txt/Header.cs new file mode 100644 index 0000000..9aeaf53 --- /dev/null +++ b/Adaptation/FileHandlers/txt/Header.cs @@ -0,0 +1,88 @@ +using System.Text.Json.Serialization; + +namespace Adaptation.FileHandlers.txt; + +public class Header +{ + + public Header(string lot, + string session) + { + Lot = lot; + Session = session; + } + + public string Lot { get; } + public string Session { get; } + + internal static void ScanPast(string text, int[] i, string search) + { + int num = text.IndexOf(search, i[0]); + if (num > -1) + i[0] = num + search.Length; + else + i[0] = text.Length; + } + + internal static string GetBefore(string text, int[] i, string search) + { + int num = text.IndexOf(search, i[0]); + if (num > -1) + { + string str = text.Substring(i[0], num - i[0]); + i[0] = num + search.Length; + return str.Trim(); + } + string str1 = text.Substring(i[0]); + i[0] = text.Length; + return str1.Trim(); + } + + internal static string GetBefore(string text, int[] i, string search, bool trim) + { + if (trim) + return GetBefore(text, i, search); + int num = text.IndexOf(search, i[0]); + if (num > -1) + { + string str = text.Substring(i[0], num - i[0]); + i[0] = num + search.Length; + return str; + } + string str1 = text.Substring(i[0]); + i[0] = text.Length; + return str1; + } + + internal static string GetToEOL(string text, int[] i) => + GetBefore(text, i, "\n"); + + internal static string GetToEOL(string text, int[] i, bool trim) + { + if (trim) + return GetToEOL(text, i); + return GetBefore(text, i, "\n", false); + } + + internal static Header Get(Constant constant, int[] i, string text) + { + Header result; + string lot; + string session; + ScanPast(text, i, constant.LongWaferSummary); + _ = GetToEOL(text, i); + ScanPast(text, i, constant.Session); + session = GetToEOL(text, i, true); + ScanPast(text, i, constant.LotId); + lot = GetToEOL(text, i, true); + result = new(lot, session); + return result; + } + +} + +[JsonSourceGenerationOptions(WriteIndented = true)] +[JsonSerializable(typeof(Header))] +internal partial class HeaderSourceGenerationContext : JsonSerializerContext +{ +} \ No newline at end of file diff --git a/Adaptation/FileHandlers/txt/Row.cs b/Adaptation/FileHandlers/txt/Row.cs new file mode 100644 index 0000000..3f30eca --- /dev/null +++ b/Adaptation/FileHandlers/txt/Row.cs @@ -0,0 +1,635 @@ +using System.Text.Json.Serialization; + +namespace Adaptation.FileHandlers.txt; + +#nullable enable + +internal class Row +{ + + public Row(Run run, int i) + { + Lot = run.Header.Lot; + Session = run.Header.Session; + DcnAllMin = run.Summary.DcnAllMin; + DcnLpdMin = run.Summary.DcnLpdMin; + DcnLpdNMin = run.Summary.DcnLpdNMin; + DcnLpdESMin = run.Summary.DcnLpdESMin; + DcnMicroScrMin = run.Summary.DcnMicroScrMin; + DcnScrMin = run.Summary.DcnScrMin; + DcnSlipMin = run.Summary.DcnSlipMin; + DcnAreaCountMin = run.Summary.DcnAreaCountMin; + DcnAreaMin = run.Summary.DcnAreaMin; + DcnHazeAvgMin = run.Summary.DcnHazeAvgMin; + DcnHazeMedianMin = run.Summary.DcnHazeMedianMin; + DcnHazeStdDevMin = run.Summary.DcnHazeStdDevMin; + DcnBin1Min = run.Summary.DcnBin1Min; + DcnBin2Min = run.Summary.DcnBin2Min; + DcnBin3Min = run.Summary.DcnBin3Min; + DcnBin4Min = run.Summary.DcnBin4Min; + DcnBin5Min = run.Summary.DcnBin5Min; + DcnBin6Min = run.Summary.DcnBin6Min; + DcnBin7Min = run.Summary.DcnBin7Min; + DcnBin8Min = run.Summary.DcnBin8Min; + DcnAllMax = run.Summary.DcnAllMax; + DcnLpdMax = run.Summary.DcnLpdMax; + DcnLpdNMax = run.Summary.DcnLpdNMax; + DcnLpdESMax = run.Summary.DcnLpdESMax; + DcnMicroScrMax = run.Summary.DcnMicroScrMax; + DcnScrMax = run.Summary.DcnScrMax; + DcnSlipMax = run.Summary.DcnSlipMax; + DcnAreaCountMax = run.Summary.DcnAreaCountMax; + DcnAreaMax = run.Summary.DcnAreaMax; + DcnHazeAvgMax = run.Summary.DcnHazeAvgMax; + DcnHazeMedianMax = run.Summary.DcnHazeMedianMax; + DcnHazeStdDevMax = run.Summary.DcnHazeStdDevMax; + DcnBin1Max = run.Summary.DcnBin1Max; + DcnBin2Max = run.Summary.DcnBin2Max; + DcnBin3Max = run.Summary.DcnBin3Max; + DcnBin4Max = run.Summary.DcnBin4Max; + DcnBin5Max = run.Summary.DcnBin5Max; + DcnBin6Max = run.Summary.DcnBin6Max; + DcnBin7Max = run.Summary.DcnBin7Max; + DcnBin8Max = run.Summary.DcnBin8Max; + DcnAllMean = run.Summary.DcnAllMean; + DcnLpdMean = run.Summary.DcnLpdMean; + DcnLpdNMean = run.Summary.DcnLpdNMean; + DcnLpdESMean = run.Summary.DcnLpdESMean; + DcnMicroScrMean = run.Summary.DcnMicroScrMean; + DcnScrMean = run.Summary.DcnScrMean; + DcnSlipMean = run.Summary.DcnSlipMean; + DcnAreaCountMean = run.Summary.DcnAreaCountMean; + DcnAreaMean = run.Summary.DcnAreaMean; + DcnHazeAvgMean = run.Summary.DcnHazeAvgMean; + DcnHazeMedianMean = run.Summary.DcnHazeMedianMean; + DcnHazeStdDevMean = run.Summary.DcnHazeStdDevMean; + DcnBin1Mean = run.Summary.DcnBin1Mean; + DcnBin2Mean = run.Summary.DcnBin2Mean; + DcnBin3Mean = run.Summary.DcnBin3Mean; + DcnBin4Mean = run.Summary.DcnBin4Mean; + DcnBin5Mean = run.Summary.DcnBin5Mean; + DcnBin6Mean = run.Summary.DcnBin6Mean; + DcnBin7Mean = run.Summary.DcnBin7Mean; + DcnBin8Mean = run.Summary.DcnBin8Mean; + DcnAllStdDev = run.Summary.DcnAllStdDev; + DcnLpdStdDev = run.Summary.DcnLpdStdDev; + DcnLpdNStdDev = run.Summary.DcnLpdNStdDev; + DcnLpdESStdDev = run.Summary.DcnLpdESStdDev; + DcnMicroScrStdDev = run.Summary.DcnMicroScrStdDev; + DcnScrStdDev = run.Summary.DcnScrStdDev; + DcnSlipStdDev = run.Summary.DcnSlipStdDev; + DcnAreaCountStdDev = run.Summary.DcnAreaCountStdDev; + DcnAreaStdDev = run.Summary.DcnAreaStdDev; + DcnHazeAvgStdDev = run.Summary.DcnHazeAvgStdDev; + DcnHazeMedianStdDev = run.Summary.DcnHazeMedianStdDev; + DcnHazeStdDevStdDev = run.Summary.DcnHazeStdDevStdDev; + DcnBin1StdDev = run.Summary.DcnBin1StdDev; + DcnBin2StdDev = run.Summary.DcnBin2StdDev; + DcnBin3StdDev = run.Summary.DcnBin3StdDev; + DcnBin4StdDev = run.Summary.DcnBin4StdDev; + DcnBin5StdDev = run.Summary.DcnBin5StdDev; + DcnBin6StdDev = run.Summary.DcnBin6StdDev; + DcnBin7StdDev = run.Summary.DcnBin7StdDev; + DcnBin8StdDev = run.Summary.DcnBin8StdDev; + DwnAllMin = run.Summary.DwnAllMin; + DwnLpdMin = run.Summary.DwnLpdMin; + DwnLpdNMin = run.Summary.DwnLpdNMin; + DwnLpdESMin = run.Summary.DwnLpdESMin; + DwnMicroScrMin = run.Summary.DwnMicroScrMin; + DwnScrMin = run.Summary.DwnScrMin; + DwnSlipMin = run.Summary.DwnSlipMin; + DwnAreaCountMin = run.Summary.DwnAreaCountMin; + DwnAreaMin = run.Summary.DwnAreaMin; + DwnHazeAvgMin = run.Summary.DwnHazeAvgMin; + DwnHazeMedianMin = run.Summary.DwnHazeMedianMin; + DwnHazeStdDevMin = run.Summary.DwnHazeStdDevMin; + DwnBin1Min = run.Summary.DwnBin1Min; + DwnBin2Min = run.Summary.DwnBin2Min; + DwnBin3Min = run.Summary.DwnBin3Min; + DwnBin4Min = run.Summary.DwnBin4Min; + DwnBin5Min = run.Summary.DwnBin5Min; + DwnBin6Min = run.Summary.DwnBin6Min; + DwnBin7Min = run.Summary.DwnBin7Min; + DwnBin8Min = run.Summary.DwnBin8Min; + DwnAllMax = run.Summary.DwnAllMax; + DwnLpdMax = run.Summary.DwnLpdMax; + DwnLpdNMax = run.Summary.DwnLpdNMax; + DwnLpdESMax = run.Summary.DwnLpdESMax; + DwnMicroScrMax = run.Summary.DwnMicroScrMax; + DwnScrMax = run.Summary.DwnScrMax; + DwnSlipMax = run.Summary.DwnSlipMax; + DwnAreaCountMax = run.Summary.DwnAreaCountMax; + DwnAreaMax = run.Summary.DwnAreaMax; + DwnHazeAvgMax = run.Summary.DwnHazeAvgMax; + DwnHazeMedianMax = run.Summary.DwnHazeMedianMax; + DwnHazeStdDevMax = run.Summary.DwnHazeStdDevMax; + DwnBin1Max = run.Summary.DwnBin1Max; + DwnBin2Max = run.Summary.DwnBin2Max; + DwnBin3Max = run.Summary.DwnBin3Max; + DwnBin4Max = run.Summary.DwnBin4Max; + DwnBin5Max = run.Summary.DwnBin5Max; + DwnBin6Max = run.Summary.DwnBin6Max; + DwnBin7Max = run.Summary.DwnBin7Max; + DwnBin8Max = run.Summary.DwnBin8Max; + DwnAllMean = run.Summary.DwnAllMean; + DwnLpdMean = run.Summary.DwnLpdMean; + DwnLpdNMean = run.Summary.DwnLpdNMean; + DwnLpdESMean = run.Summary.DwnLpdESMean; + DwnMicroScrMean = run.Summary.DwnMicroScrMean; + DwnScrMean = run.Summary.DwnScrMean; + DwnSlipMean = run.Summary.DwnSlipMean; + DwnAreaCountMean = run.Summary.DwnAreaCountMean; + DwnAreaMean = run.Summary.DwnAreaMean; + DwnHazeAvgMean = run.Summary.DwnHazeAvgMean; + DwnHazeMedianMean = run.Summary.DwnHazeMedianMean; + DwnHazeStdDevMean = run.Summary.DwnHazeStdDevMean; + DwnBin1Mean = run.Summary.DwnBin1Mean; + DwnBin2Mean = run.Summary.DwnBin2Mean; + DwnBin3Mean = run.Summary.DwnBin3Mean; + DwnBin4Mean = run.Summary.DwnBin4Mean; + DwnBin5Mean = run.Summary.DwnBin5Mean; + DwnBin6Mean = run.Summary.DwnBin6Mean; + DwnBin7Mean = run.Summary.DwnBin7Mean; + DwnBin8Mean = run.Summary.DwnBin8Mean; + DwnAllStdDev = run.Summary.DwnAllStdDev; + DwnLpdStdDev = run.Summary.DwnLpdStdDev; + DwnLpdNStdDev = run.Summary.DwnLpdNStdDev; + DwnLpdESStdDev = run.Summary.DwnLpdESStdDev; + DwnMicroScrStdDev = run.Summary.DwnMicroScrStdDev; + DwnScrStdDev = run.Summary.DwnScrStdDev; + DwnSlipStdDev = run.Summary.DwnSlipStdDev; + DwnAreaCountStdDev = run.Summary.DwnAreaCountStdDev; + DwnAreaStdDev = run.Summary.DwnAreaStdDev; + DwnHazeAvgStdDev = run.Summary.DwnHazeAvgStdDev; + DwnHazeMedianStdDev = run.Summary.DwnHazeMedianStdDev; + DwnHazeStdDevStdDev = run.Summary.DwnHazeStdDevStdDev; + DwnBin1StdDev = run.Summary.DwnBin1StdDev; + DwnBin2StdDev = run.Summary.DwnBin2StdDev; + DwnBin3StdDev = run.Summary.DwnBin3StdDev; + DwnBin4StdDev = run.Summary.DwnBin4StdDev; + DwnBin5StdDev = run.Summary.DwnBin5StdDev; + DwnBin6StdDev = run.Summary.DwnBin6StdDev; + DwnBin7StdDev = run.Summary.DwnBin7StdDev; + DwnBin8StdDev = run.Summary.DwnBin8StdDev; + DnnAllMin = run.Summary.DnnAllMin; + DnnLpdMin = run.Summary.DnnLpdMin; + DnnLpdNMin = run.Summary.DnnLpdNMin; + DnnLpdESMin = run.Summary.DnnLpdESMin; + DnnMicroScrMin = run.Summary.DnnMicroScrMin; + DnnScrMin = run.Summary.DnnScrMin; + DnnSlipMin = run.Summary.DnnSlipMin; + DnnAreaCountMin = run.Summary.DnnAreaCountMin; + DnnAreaMin = run.Summary.DnnAreaMin; + DnnHazeAvgMin = run.Summary.DnnHazeAvgMin; + DnnHazeMedianMin = run.Summary.DnnHazeMedianMin; + DnnHazeStdDevMin = run.Summary.DnnHazeStdDevMin; + DnnBin1Min = run.Summary.DnnBin1Min; + DnnBin2Min = run.Summary.DnnBin2Min; + DnnBin3Min = run.Summary.DnnBin3Min; + DnnBin4Min = run.Summary.DnnBin4Min; + DnnBin5Min = run.Summary.DnnBin5Min; + DnnBin6Min = run.Summary.DnnBin6Min; + DnnBin7Min = run.Summary.DnnBin7Min; + DnnBin8Min = run.Summary.DnnBin8Min; + DnnAllMax = run.Summary.DnnAllMax; + DnnLpdMax = run.Summary.DnnLpdMax; + DnnLpdNMax = run.Summary.DnnLpdNMax; + DnnLpdESMax = run.Summary.DnnLpdESMax; + DnnMicroScrMax = run.Summary.DnnMicroScrMax; + DnnScrMax = run.Summary.DnnScrMax; + DnnSlipMax = run.Summary.DnnSlipMax; + DnnAreaCountMax = run.Summary.DnnAreaCountMax; + DnnAreaMax = run.Summary.DnnAreaMax; + DnnHazeAvgMax = run.Summary.DnnHazeAvgMax; + DnnHazeMedianMax = run.Summary.DnnHazeMedianMax; + DnnHazeStdDevMax = run.Summary.DnnHazeStdDevMax; + DnnBin1Max = run.Summary.DnnBin1Max; + DnnBin2Max = run.Summary.DnnBin2Max; + DnnBin3Max = run.Summary.DnnBin3Max; + DnnBin4Max = run.Summary.DnnBin4Max; + DnnBin5Max = run.Summary.DnnBin5Max; + DnnBin6Max = run.Summary.DnnBin6Max; + DnnBin7Max = run.Summary.DnnBin7Max; + DnnBin8Max = run.Summary.DnnBin8Max; + DnnAllMean = run.Summary.DnnAllMean; + DnnLpdMean = run.Summary.DnnLpdMean; + DnnLpdNMean = run.Summary.DnnLpdNMean; + DnnLpdESMean = run.Summary.DnnLpdESMean; + DnnMicroScrMean = run.Summary.DnnMicroScrMean; + DnnScrMean = run.Summary.DnnScrMean; + DnnSlipMean = run.Summary.DnnSlipMean; + DnnAreaCountMean = run.Summary.DnnAreaCountMean; + DnnAreaMean = run.Summary.DnnAreaMean; + DnnHazeAvgMean = run.Summary.DnnHazeAvgMean; + DnnHazeMedianMean = run.Summary.DnnHazeMedianMean; + DnnHazeStdDevMean = run.Summary.DnnHazeStdDevMean; + DnnBin1Mean = run.Summary.DnnBin1Mean; + DnnBin2Mean = run.Summary.DnnBin2Mean; + DnnBin3Mean = run.Summary.DnnBin3Mean; + DnnBin4Mean = run.Summary.DnnBin4Mean; + DnnBin5Mean = run.Summary.DnnBin5Mean; + DnnBin6Mean = run.Summary.DnnBin6Mean; + DnnBin7Mean = run.Summary.DnnBin7Mean; + DnnBin8Mean = run.Summary.DnnBin8Mean; + DnnAllStdDev = run.Summary.DnnAllStdDev; + DnnLpdStdDev = run.Summary.DnnLpdStdDev; + DnnLpdNStdDev = run.Summary.DnnLpdNStdDev; + DnnLpdESStdDev = run.Summary.DnnLpdESStdDev; + DnnMicroScrStdDev = run.Summary.DnnMicroScrStdDev; + DnnScrStdDev = run.Summary.DnnScrStdDev; + DnnSlipStdDev = run.Summary.DnnSlipStdDev; + DnnAreaCountStdDev = run.Summary.DnnAreaCountStdDev; + DnnAreaStdDev = run.Summary.DnnAreaStdDev; + DnnHazeAvgStdDev = run.Summary.DnnHazeAvgStdDev; + DnnHazeMedianStdDev = run.Summary.DnnHazeMedianStdDev; + DnnHazeStdDevStdDev = run.Summary.DnnHazeStdDevStdDev; + DnnBin1StdDev = run.Summary.DnnBin1StdDev; + DnnBin2StdDev = run.Summary.DnnBin2StdDev; + DnnBin3StdDev = run.Summary.DnnBin3StdDev; + DnnBin4StdDev = run.Summary.DnnBin4StdDev; + DnnBin5StdDev = run.Summary.DnnBin5StdDev; + DnnBin6StdDev = run.Summary.DnnBin6StdDev; + DnnBin7StdDev = run.Summary.DnnBin7StdDev; + DnnBin8StdDev = run.Summary.DnnBin8StdDev; + // + Side = run.Wafers[i].Side; + WaferID = run.Wafers[i].WaferID; + Grade = run.Wafers[i].Grade; + SrcDest = run.Wafers[i].SrcDest; + DcnAll = run.Wafers[i].DcnAll; + DcnLpd = run.Wafers[i].DcnLpd; + DcnLpdN = run.Wafers[i].DcnLpdN; + DcnLpdES = run.Wafers[i].DcnLpdES; + DcnMicroScr = run.Wafers[i].DcnMicroScr; + DcnScr = run.Wafers[i].DcnScr; + DcnSlip = run.Wafers[i].DcnSlip; + DcnAreaCount = run.Wafers[i].DcnAreaCount; + DcnArea = run.Wafers[i].DcnArea; + DcnHazeAvg = run.Wafers[i].DcnHazeAvg; + DcnHazeMedian = run.Wafers[i].DcnHazeMedian; + DcnHazeStdDev = run.Wafers[i].DcnHazeStdDev; + DcnBin1 = run.Wafers[i].DcnBin1; + DcnBin2 = run.Wafers[i].DcnBin2; + DcnBin3 = run.Wafers[i].DcnBin3; + DcnBin4 = run.Wafers[i].DcnBin4; + DcnBin5 = run.Wafers[i].DcnBin5; + DcnBin6 = run.Wafers[i].DcnBin6; + DcnBin7 = run.Wafers[i].DcnBin7; + DcnBin8 = run.Wafers[i].DcnBin8; + DwnAll = run.Wafers[i].DwnAll; + DwnLpd = run.Wafers[i].DwnLpd; + DwnLpdN = run.Wafers[i].DwnLpdN; + DwnLpdES = run.Wafers[i].DwnLpdES; + DwnMicroScr = run.Wafers[i].DwnMicroScr; + DwnScr = run.Wafers[i].DwnScr; + DwnSlip = run.Wafers[i].DwnSlip; + DwnAreaCount = run.Wafers[i].DwnAreaCount; + DwnArea = run.Wafers[i].DwnArea; + DwnHazeAvg = run.Wafers[i].DwnHazeAvg; + DwnHazeMedian = run.Wafers[i].DwnHazeMedian; + DwnHazeStdDev = run.Wafers[i].DwnHazeStdDev; + DwnBin1 = run.Wafers[i].DwnBin1; + DwnBin2 = run.Wafers[i].DwnBin2; + DwnBin3 = run.Wafers[i].DwnBin3; + DwnBin4 = run.Wafers[i].DwnBin4; + DwnBin5 = run.Wafers[i].DwnBin5; + DwnBin6 = run.Wafers[i].DwnBin6; + DwnBin7 = run.Wafers[i].DwnBin7; + DwnBin8 = run.Wafers[i].DwnBin8; + DnnAll = run.Wafers[i].DnnAll; + DnnLpd = run.Wafers[i].DnnLpd; + DnnLpdN = run.Wafers[i].DnnLpdN; + DnnLpdES = run.Wafers[i].DnnLpdES; + DnnMicroScr = run.Wafers[i].DnnMicroScr; + DnnScr = run.Wafers[i].DnnScr; + DnnSlip = run.Wafers[i].DnnSlip; + DnnAreaCount = run.Wafers[i].DnnAreaCount; + DnnArea = run.Wafers[i].DnnArea; + DnnHazeAvg = run.Wafers[i].DnnHazeAvg; + DnnHazeMedian = run.Wafers[i].DnnHazeMedian; + DnnHazeStdDev = run.Wafers[i].DnnHazeStdDev; + DnnBin1 = run.Wafers[i].DnnBin1; + DnnBin2 = run.Wafers[i].DnnBin2; + DnnBin3 = run.Wafers[i].DnnBin3; + DnnBin4 = run.Wafers[i].DnnBin4; + DnnBin5 = run.Wafers[i].DnnBin5; + DnnBin6 = run.Wafers[i].DnnBin6; + DnnBin7 = run.Wafers[i].DnnBin7; + DnnBin8 = run.Wafers[i].DnnBin8; + } + + public string Lot { get; } + public string Session { get; } + public string DcnAllMin { get; } + public string DcnLpdMin { get; } + public string DcnLpdNMin { get; } + public string DcnLpdESMin { get; } + public string DcnMicroScrMin { get; } + public string DcnScrMin { get; } + public string DcnSlipMin { get; } + public string DcnAreaCountMin { get; } + public string DcnAreaMin { get; } + public string DcnHazeAvgMin { get; } + public string DcnHazeMedianMin { get; } + public string DcnHazeStdDevMin { get; } + public string DcnBin1Min { get; } + public string DcnBin2Min { get; } + public string DcnBin3Min { get; } + public string DcnBin4Min { get; } + public string DcnBin5Min { get; } + public string DcnBin6Min { get; } + public string DcnBin7Min { get; } + public string DcnBin8Min { get; } + public string DcnAllMax { get; } + public string DcnLpdMax { get; } + public string DcnLpdNMax { get; } + public string DcnLpdESMax { get; } + public string DcnMicroScrMax { get; } + public string DcnScrMax { get; } + public string DcnSlipMax { get; } + public string DcnAreaCountMax { get; } + public string DcnAreaMax { get; } + public string DcnHazeAvgMax { get; } + public string DcnHazeMedianMax { get; } + public string DcnHazeStdDevMax { get; } + public string DcnBin1Max { get; } + public string DcnBin2Max { get; } + public string DcnBin3Max { get; } + public string DcnBin4Max { get; } + public string DcnBin5Max { get; } + public string DcnBin6Max { get; } + public string DcnBin7Max { get; } + public string DcnBin8Max { get; } + public string DcnAllMean { get; } + public string DcnLpdMean { get; } + public string DcnLpdNMean { get; } + public string DcnLpdESMean { get; } + public string DcnMicroScrMean { get; } + public string DcnScrMean { get; } + public string DcnSlipMean { get; } + public string DcnAreaCountMean { get; } + public string DcnAreaMean { get; } + public string DcnHazeAvgMean { get; } + public string DcnHazeMedianMean { get; } + public string DcnHazeStdDevMean { get; } + public string DcnBin1Mean { get; } + public string DcnBin2Mean { get; } + public string DcnBin3Mean { get; } + public string DcnBin4Mean { get; } + public string DcnBin5Mean { get; } + public string DcnBin6Mean { get; } + public string DcnBin7Mean { get; } + public string DcnBin8Mean { get; } + public string DcnAllStdDev { get; } + public string DcnLpdStdDev { get; } + public string DcnLpdNStdDev { get; } + public string DcnLpdESStdDev { get; } + public string DcnMicroScrStdDev { get; } + public string DcnScrStdDev { get; } + public string DcnSlipStdDev { get; } + public string DcnAreaCountStdDev { get; } + public string DcnAreaStdDev { get; } + public string DcnHazeAvgStdDev { get; } + public string DcnHazeMedianStdDev { get; } + public string DcnHazeStdDevStdDev { get; } + public string DcnBin1StdDev { get; } + public string DcnBin2StdDev { get; } + public string DcnBin3StdDev { get; } + public string DcnBin4StdDev { get; } + public string DcnBin5StdDev { get; } + public string DcnBin6StdDev { get; } + public string DcnBin7StdDev { get; } + public string DcnBin8StdDev { get; } + public string DwnAllMin { get; } + public string DwnLpdMin { get; } + public string DwnLpdNMin { get; } + public string DwnLpdESMin { get; } + public string DwnMicroScrMin { get; } + public string DwnScrMin { get; } + public string DwnSlipMin { get; } + public string DwnAreaCountMin { get; } + public string DwnAreaMin { get; } + public string DwnHazeAvgMin { get; } + public string DwnHazeMedianMin { get; } + public string DwnHazeStdDevMin { get; } + public string DwnBin1Min { get; } + public string DwnBin2Min { get; } + public string DwnBin3Min { get; } + public string DwnBin4Min { get; } + public string DwnBin5Min { get; } + public string DwnBin6Min { get; } + public string DwnBin7Min { get; } + public string DwnBin8Min { get; } + public string DwnAllMax { get; } + public string DwnLpdMax { get; } + public string DwnLpdNMax { get; } + public string DwnLpdESMax { get; } + public string DwnMicroScrMax { get; } + public string DwnScrMax { get; } + public string DwnSlipMax { get; } + public string DwnAreaCountMax { get; } + public string DwnAreaMax { get; } + public string DwnHazeAvgMax { get; } + public string DwnHazeMedianMax { get; } + public string DwnHazeStdDevMax { get; } + public string DwnBin1Max { get; } + public string DwnBin2Max { get; } + public string DwnBin3Max { get; } + public string DwnBin4Max { get; } + public string DwnBin5Max { get; } + public string DwnBin6Max { get; } + public string DwnBin7Max { get; } + public string DwnBin8Max { get; } + public string DwnAllMean { get; } + public string DwnLpdMean { get; } + public string DwnLpdNMean { get; } + public string DwnLpdESMean { get; } + public string DwnMicroScrMean { get; } + public string DwnScrMean { get; } + public string DwnSlipMean { get; } + public string DwnAreaCountMean { get; } + public string DwnAreaMean { get; } + public string DwnHazeAvgMean { get; } + public string DwnHazeMedianMean { get; } + public string DwnHazeStdDevMean { get; } + public string DwnBin1Mean { get; } + public string DwnBin2Mean { get; } + public string DwnBin3Mean { get; } + public string DwnBin4Mean { get; } + public string DwnBin5Mean { get; } + public string DwnBin6Mean { get; } + public string DwnBin7Mean { get; } + public string DwnBin8Mean { get; } + public string DwnAllStdDev { get; } + public string DwnLpdStdDev { get; } + public string DwnLpdNStdDev { get; } + public string DwnLpdESStdDev { get; } + public string DwnMicroScrStdDev { get; } + public string DwnScrStdDev { get; } + public string DwnSlipStdDev { get; } + public string DwnAreaCountStdDev { get; } + public string DwnAreaStdDev { get; } + public string DwnHazeAvgStdDev { get; } + public string DwnHazeMedianStdDev { get; } + public string DwnHazeStdDevStdDev { get; } + public string DwnBin1StdDev { get; } + public string DwnBin2StdDev { get; } + public string DwnBin3StdDev { get; } + public string DwnBin4StdDev { get; } + public string DwnBin5StdDev { get; } + public string DwnBin6StdDev { get; } + public string DwnBin7StdDev { get; } + public string DwnBin8StdDev { get; } + public string DnnAllMin { get; } + public string DnnLpdMin { get; } + public string DnnLpdNMin { get; } + public string DnnLpdESMin { get; } + public string DnnMicroScrMin { get; } + public string DnnScrMin { get; } + public string DnnSlipMin { get; } + public string DnnAreaCountMin { get; } + public string DnnAreaMin { get; } + public string DnnHazeAvgMin { get; } + public string DnnHazeMedianMin { get; } + public string DnnHazeStdDevMin { get; } + public string DnnBin1Min { get; } + public string DnnBin2Min { get; } + public string DnnBin3Min { get; } + public string DnnBin4Min { get; } + public string DnnBin5Min { get; } + public string DnnBin6Min { get; } + public string DnnBin7Min { get; } + public string DnnBin8Min { get; } + public string DnnAllMax { get; } + public string DnnLpdMax { get; } + public string DnnLpdNMax { get; } + public string DnnLpdESMax { get; } + public string DnnMicroScrMax { get; } + public string DnnScrMax { get; } + public string DnnSlipMax { get; } + public string DnnAreaCountMax { get; } + public string DnnAreaMax { get; } + public string DnnHazeAvgMax { get; } + public string DnnHazeMedianMax { get; } + public string DnnHazeStdDevMax { get; } + public string DnnBin1Max { get; } + public string DnnBin2Max { get; } + public string DnnBin3Max { get; } + public string DnnBin4Max { get; } + public string DnnBin5Max { get; } + public string DnnBin6Max { get; } + public string DnnBin7Max { get; } + public string DnnBin8Max { get; } + public string DnnAllMean { get; } + public string DnnLpdMean { get; } + public string DnnLpdNMean { get; } + public string DnnLpdESMean { get; } + public string DnnMicroScrMean { get; } + public string DnnScrMean { get; } + public string DnnSlipMean { get; } + public string DnnAreaCountMean { get; } + public string DnnAreaMean { get; } + public string DnnHazeAvgMean { get; } + public string DnnHazeMedianMean { get; } + public string DnnHazeStdDevMean { get; } + public string DnnBin1Mean { get; } + public string DnnBin2Mean { get; } + public string DnnBin3Mean { get; } + public string DnnBin4Mean { get; } + public string DnnBin5Mean { get; } + public string DnnBin6Mean { get; } + public string DnnBin7Mean { get; } + public string DnnBin8Mean { get; } + public string DnnAllStdDev { get; } + public string DnnLpdStdDev { get; } + public string DnnLpdNStdDev { get; } + public string DnnLpdESStdDev { get; } + public string DnnMicroScrStdDev { get; } + public string DnnScrStdDev { get; } + public string DnnSlipStdDev { get; } + public string DnnAreaCountStdDev { get; } + public string DnnAreaStdDev { get; } + public string DnnHazeAvgStdDev { get; } + public string DnnHazeMedianStdDev { get; } + public string DnnHazeStdDevStdDev { get; } + public string DnnBin1StdDev { get; } + public string DnnBin2StdDev { get; } + public string DnnBin3StdDev { get; } + public string DnnBin4StdDev { get; } + public string DnnBin5StdDev { get; } + public string DnnBin6StdDev { get; } + public string DnnBin7StdDev { get; } + public string DnnBin8StdDev { get; } + // + public string Side { get; } + public string WaferID { get; } + public string Grade { get; } + public string SrcDest { get; } + public string DcnAll { get; } + public string DcnLpd { get; } + public string DcnLpdN { get; } + public string DcnLpdES { get; } + public string DcnMicroScr { get; } + public string DcnScr { get; } + public string DcnSlip { get; } + public string DcnAreaCount { get; } + public string DcnArea { get; } + public string DcnHazeAvg { get; } + public string DcnHazeMedian { get; } + public string DcnHazeStdDev { get; } + public string DcnBin1 { get; } + public string DcnBin2 { get; } + public string DcnBin3 { get; } + public string DcnBin4 { get; } + public string DcnBin5 { get; } + public string DcnBin6 { get; } + public string DcnBin7 { get; } + public string DcnBin8 { get; } + public string DwnAll { get; } + public string DwnLpd { get; } + public string DwnLpdN { get; } + public string DwnLpdES { get; } + public string DwnMicroScr { get; } + public string DwnScr { get; } + public string DwnSlip { get; } + public string DwnAreaCount { get; } + public string DwnArea { get; } + public string DwnHazeAvg { get; } + public string DwnHazeMedian { get; } + public string DwnHazeStdDev { get; } + public string DwnBin1 { get; } + public string DwnBin2 { get; } + public string DwnBin3 { get; } + public string DwnBin4 { get; } + public string DwnBin5 { get; } + public string DwnBin6 { get; } + public string DwnBin7 { get; } + public string DwnBin8 { get; } + public string DnnAll { get; } + public string DnnLpd { get; } + public string DnnLpdN { get; } + public string DnnLpdES { get; } + public string DnnMicroScr { get; } + public string DnnScr { get; } + public string DnnSlip { get; } + public string DnnAreaCount { get; } + public string DnnArea { get; } + public string DnnHazeAvg { get; } + public string DnnHazeMedian { get; } + public string DnnHazeStdDev { get; } + public string DnnBin1 { get; } + public string DnnBin2 { get; } + public string DnnBin3 { get; } + public string DnnBin4 { get; } + public string DnnBin5 { get; } + public string DnnBin6 { get; } + public string DnnBin7 { get; } + public string DnnBin8 { get; } + +} + +[JsonSourceGenerationOptions(WriteIndented = true)] +[JsonSerializable(typeof(Row))] +internal partial class RowSourceGenerationContext : JsonSerializerContext +{ +} \ No newline at end of file diff --git a/Adaptation/FileHandlers/txt/Run.cs b/Adaptation/FileHandlers/txt/Run.cs new file mode 100644 index 0000000..fab9af6 --- /dev/null +++ b/Adaptation/FileHandlers/txt/Run.cs @@ -0,0 +1,140 @@ +using Adaptation.Shared; +using System; +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.IO; +using System.Text; +using System.Text.Json; +using System.Text.Json.Serialization; + +namespace Adaptation.FileHandlers.txt; + +#nullable enable + +internal class Run +{ + + public Run(Header header, Summary summary, ReadOnlyCollection wafers) + { + Header = header; + Summary = summary; + Wafers = wafers; + } + + public Header Header { get; } + public Summary Summary { get; } + public ReadOnlyCollection Wafers { get; } + + private static void WriteJson(Logistics logistics, List fileInfoCollection, Run result) + { + FileInfo fileInfo = new($"{logistics.ReportFullPath}.json"); + string json = JsonSerializer.Serialize(result, RunSourceGenerationContext.Default.Run); + File.WriteAllText(fileInfo.FullName, json); + File.SetLastWriteTime(fileInfo.FullName, logistics.DateTimeFromSequence); + fileInfoCollection.Add(fileInfo); + } + + private static ReadOnlyCollection GetLines(JsonElement[]? jsonElements) + { + List results = new(); + int columns = 0; + StringBuilder stringBuilder = new(); + for (int i = 0; i < jsonElements?.Length;) + { + foreach (JsonProperty jsonProperty in jsonElements[0].EnumerateObject()) + { + columns += 1; + _ = stringBuilder.Append('"').Append(jsonProperty.Name).Append('"').Append('\t'); + } + break; + } + if (jsonElements?.Length != 0) + _ = stringBuilder.Remove(stringBuilder.Length - 1, 1); + results.Add(stringBuilder.ToString()); + for (int i = 0; i < jsonElements?.Length; i++) + { + _ = stringBuilder.Clear(); + foreach (JsonProperty jsonProperty in jsonElements[i].EnumerateObject()) + { + if (jsonProperty.Value.ValueKind == JsonValueKind.Object) + _ = stringBuilder.Append('\t'); + else if (jsonProperty.Value.ValueKind != JsonValueKind.String) + _ = stringBuilder.Append(jsonProperty.Value).Append('\t'); + else + _ = stringBuilder.Append('"').Append(jsonProperty.Value).Append('"').Append('\t'); + } + _ = stringBuilder.Remove(stringBuilder.Length - 1, 1); + results.Add(stringBuilder.ToString()); + } + return results.AsReadOnly(); + } + + private static ReadOnlyCollection GetLines(JsonElement jsonElement) => + GetLines(new JsonElement[] { jsonElement }); + + private static void WriteTabSeparatedValues(Logistics logistics, List fileInfoCollection, Run run) + { + List results = new(); + Row row; + FileInfo fileInfo = new($"{logistics.ReportFullPath}.tsv"); + for (int i = 0; i < run.Wafers.Count; i++) + { + row = new(run, i); + results.Add(row); + } + string json = JsonSerializer.Serialize(results); + JsonElement[]? jsonElements = JsonSerializer.Deserialize(json); + ReadOnlyCollection lines = GetLines(jsonElements); + File.WriteAllText(fileInfo.FullName, string.Join(Environment.NewLine, lines)); + File.SetLastWriteTime(fileInfo.FullName, logistics.DateTimeFromSequence); + fileInfoCollection.Add(fileInfo); + } + + private static void WriteException(Logistics logistics, Exception ex) + { + FileInfo fileInfo = new($"{logistics.ReportFullPath}.{nameof(Exception)}.txt"); + File.WriteAllText(fileInfo.FullName, $"{ex.Message}{Environment.NewLine}{ex.StackTrace}"); + } + + internal static Run? Get(Logistics logistics, List fileInfoCollection) + { + Run? result; + string text = File.ReadAllText(logistics.ReportFullPath); + if (string.IsNullOrEmpty(text)) + result = null; + else + { + Constant constant = new(); + int[] i = new int[] { 0 }; + List dcnTotals = new(); + List dwnTotals = new(); + List dnnTotals = new(); + Header header = Header.Get(constant, i, text); + Summary summary = Summary.Get(constant, i, text, dcnTotals, dwnTotals, dnnTotals); + ReadOnlyCollection wafers = Wafer.Get(constant, dcnTotals, dwnTotals, dnnTotals); + if (wafers.Count == 0) + result = null; + else + { + result = new(header, summary, wafers); + WriteJson(logistics, fileInfoCollection, result); + try + { + WriteTabSeparatedValues(logistics, fileInfoCollection, result); + } + catch (Exception ex) + { + WriteException(logistics, ex); + } + } + } + return result; + } + +} + +[JsonSourceGenerationOptions(WriteIndented = true)] +[JsonSerializable(typeof(Run))] +internal partial class RunSourceGenerationContext : JsonSerializerContext +{ +} \ No newline at end of file diff --git a/Adaptation/FileHandlers/txt/Summary.cs b/Adaptation/FileHandlers/txt/Summary.cs new file mode 100644 index 0000000..0fe7452 --- /dev/null +++ b/Adaptation/FileHandlers/txt/Summary.cs @@ -0,0 +1,1110 @@ +using System; +using System.Collections.Generic; +using System.Text.Json.Serialization; + +namespace Adaptation.FileHandlers.txt; + +#nullable enable + +public class Summary +{ + + public Summary(string dcnAllMin, + string dcnLpdMin, + string dcnLpdNMin, + string dcnLpdESMin, + string dcnMicroScrMin, + string dcnScrMin, + string dcnSlipMin, + string dcnAreaCountMin, + string dcnAreaMin, + string dcnHazeAvgMin, + string dcnHazeMedianMin, + string dcnHazeStdDevMin, + string dcnBin1Min, + string dcnBin2Min, + string dcnBin3Min, + string dcnBin4Min, + string dcnBin5Min, + string dcnBin6Min, + string dcnBin7Min, + string dcnBin8Min, + string dcnAllMax, + string dcnLpdMax, + string dcnLpdNMax, + string dcnLpdESMax, + string dcnMicroScrMax, + string dcnScrMax, + string dcnSlipMax, + string dcnAreaCountMax, + string dcnAreaMax, + string dcnHazeAvgMax, + string dcnHazeMedianMax, + string dcnHazeStdDevMax, + string dcnBin1Max, + string dcnBin2Max, + string dcnBin3Max, + string dcnBin4Max, + string dcnBin5Max, + string dcnBin6Max, + string dcnBin7Max, + string dcnBin8Max, + string dcnAllMean, + string dcnLpdMean, + string dcnLpdNMean, + string dcnLpdESMean, + string dcnMicroScrMean, + string dcnScrMean, + string dcnSlipMean, + string dcnAreaCountMean, + string dcnAreaMean, + string dcnHazeAvgMean, + string dcnHazeMedianMean, + string dcnHazeStdDevMean, + string dcnBin1Mean, + string dcnBin2Mean, + string dcnBin3Mean, + string dcnBin4Mean, + string dcnBin5Mean, + string dcnBin6Mean, + string dcnBin7Mean, + string dcnBin8Mean, + string dcnAllStdDev, + string dcnLpdStdDev, + string dcnLpdNStdDev, + string dcnLpdESStdDev, + string dcnMicroScrStdDev, + string dcnScrStdDev, + string dcnSlipStdDev, + string dcnAreaCountStdDev, + string dcnAreaStdDev, + string dcnHazeAvgStdDev, + string dcnHazeMedianStdDev, + string dcnHazeStdDevStdDev, + string dcnBin1StdDev, + string dcnBin2StdDev, + string dcnBin3StdDev, + string dcnBin4StdDev, + string dcnBin5StdDev, + string dcnBin6StdDev, + string dcnBin7StdDev, + string dcnBin8StdDev, + string dwnAllMin, + string dwnLpdMin, + string dwnLpdNMin, + string dwnLpdESMin, + string dwnMicroScrMin, + string dwnScrMin, + string dwnSlipMin, + string dwnAreaCountMin, + string dwnAreaMin, + string dwnHazeAvgMin, + string dwnHazeMedianMin, + string dwnHazeStdDevMin, + string dwnBin1Min, + string dwnBin2Min, + string dwnBin3Min, + string dwnBin4Min, + string dwnBin5Min, + string dwnBin6Min, + string dwnBin7Min, + string dwnBin8Min, + string dwnAllMax, + string dwnLpdMax, + string dwnLpdNMax, + string dwnLpdESMax, + string dwnMicroScrMax, + string dwnScrMax, + string dwnSlipMax, + string dwnAreaCountMax, + string dwnAreaMax, + string dwnHazeAvgMax, + string dwnHazeMedianMax, + string dwnHazeStdDevMax, + string dwnBin1Max, + string dwnBin2Max, + string dwnBin3Max, + string dwnBin4Max, + string dwnBin5Max, + string dwnBin6Max, + string dwnBin7Max, + string dwnBin8Max, + string dwnAllMean, + string dwnLpdMean, + string dwnLpdNMean, + string dwnLpdESMean, + string dwnMicroScrMean, + string dwnScrMean, + string dwnSlipMean, + string dwnAreaCountMean, + string dwnAreaMean, + string dwnHazeAvgMean, + string dwnHazeMedianMean, + string dwnHazeStdDevMean, + string dwnBin1Mean, + string dwnBin2Mean, + string dwnBin3Mean, + string dwnBin4Mean, + string dwnBin5Mean, + string dwnBin6Mean, + string dwnBin7Mean, + string dwnBin8Mean, + string dwnAllStdDev, + string dwnLpdStdDev, + string dwnLpdNStdDev, + string dwnLpdESStdDev, + string dwnMicroScrStdDev, + string dwnScrStdDev, + string dwnSlipStdDev, + string dwnAreaCountStdDev, + string dwnAreaStdDev, + string dwnHazeAvgStdDev, + string dwnHazeMedianStdDev, + string dwnHazeStdDevStdDev, + string dwnBin1StdDev, + string dwnBin2StdDev, + string dwnBin3StdDev, + string dwnBin4StdDev, + string dwnBin5StdDev, + string dwnBin6StdDev, + string dwnBin7StdDev, + string dwnBin8StdDev, + string dnnAllMin, + string dnnLpdMin, + string dnnLpdNMin, + string dnnLpdESMin, + string dnnMicroScrMin, + string dnnScrMin, + string dnnSlipMin, + string dnnAreaCountMin, + string dnnAreaMin, + string dnnHazeAvgMin, + string dnnHazeMedianMin, + string dnnHazeStdDevMin, + string dnnBin1Min, + string dnnBin2Min, + string dnnBin3Min, + string dnnBin4Min, + string dnnBin5Min, + string dnnBin6Min, + string dnnBin7Min, + string dnnBin8Min, + string dnnAllMax, + string dnnLpdMax, + string dnnLpdNMax, + string dnnLpdESMax, + string dnnMicroScrMax, + string dnnScrMax, + string dnnSlipMax, + string dnnAreaCountMax, + string dnnAreaMax, + string dnnHazeAvgMax, + string dnnHazeMedianMax, + string dnnHazeStdDevMax, + string dnnBin1Max, + string dnnBin2Max, + string dnnBin3Max, + string dnnBin4Max, + string dnnBin5Max, + string dnnBin6Max, + string dnnBin7Max, + string dnnBin8Max, + string dnnAllMean, + string dnnLpdMean, + string dnnLpdNMean, + string dnnLpdESMean, + string dnnMicroScrMean, + string dnnScrMean, + string dnnSlipMean, + string dnnAreaCountMean, + string dnnAreaMean, + string dnnHazeAvgMean, + string dnnHazeMedianMean, + string dnnHazeStdDevMean, + string dnnBin1Mean, + string dnnBin2Mean, + string dnnBin3Mean, + string dnnBin4Mean, + string dnnBin5Mean, + string dnnBin6Mean, + string dnnBin7Mean, + string dnnBin8Mean, + string dnnAllStdDev, + string dnnLpdStdDev, + string dnnLpdNStdDev, + string dnnLpdESStdDev, + string dnnMicroScrStdDev, + string dnnScrStdDev, + string dnnSlipStdDev, + string dnnAreaCountStdDev, + string dnnAreaStdDev, + string dnnHazeAvgStdDev, + string dnnHazeMedianStdDev, + string dnnHazeStdDevStdDev, + string dnnBin1StdDev, + string dnnBin2StdDev, + string dnnBin3StdDev, + string dnnBin4StdDev, + string dnnBin5StdDev, + string dnnBin6StdDev, + string dnnBin7StdDev, + string dnnBin8StdDev) + { + DcnAllMin = dcnAllMin; + DcnLpdMin = dcnLpdMin; + DcnLpdNMin = dcnLpdNMin; + DcnLpdESMin = dcnLpdESMin; + DcnMicroScrMin = dcnMicroScrMin; + DcnScrMin = dcnScrMin; + DcnSlipMin = dcnSlipMin; + DcnAreaCountMin = dcnAreaCountMin; + DcnAreaMin = dcnAreaMin; + DcnHazeAvgMin = dcnHazeAvgMin; + DcnHazeMedianMin = dcnHazeMedianMin; + DcnHazeStdDevMin = dcnHazeStdDevMin; + DcnBin1Min = dcnBin1Min; + DcnBin2Min = dcnBin2Min; + DcnBin3Min = dcnBin3Min; + DcnBin4Min = dcnBin4Min; + DcnBin5Min = dcnBin5Min; + DcnBin6Min = dcnBin6Min; + DcnBin7Min = dcnBin7Min; + DcnBin8Min = dcnBin8Min; + DcnAllMax = dcnAllMax; + DcnLpdMax = dcnLpdMax; + DcnLpdNMax = dcnLpdNMax; + DcnLpdESMax = dcnLpdESMax; + DcnMicroScrMax = dcnMicroScrMax; + DcnScrMax = dcnScrMax; + DcnSlipMax = dcnSlipMax; + DcnAreaCountMax = dcnAreaCountMax; + DcnAreaMax = dcnAreaMax; + DcnHazeAvgMax = dcnHazeAvgMax; + DcnHazeMedianMax = dcnHazeMedianMax; + DcnHazeStdDevMax = dcnHazeStdDevMax; + DcnBin1Max = dcnBin1Max; + DcnBin2Max = dcnBin2Max; + DcnBin3Max = dcnBin3Max; + DcnBin4Max = dcnBin4Max; + DcnBin5Max = dcnBin5Max; + DcnBin6Max = dcnBin6Max; + DcnBin7Max = dcnBin7Max; + DcnBin8Max = dcnBin8Max; + DcnAllMean = dcnAllMean; + DcnLpdMean = dcnLpdMean; + DcnLpdNMean = dcnLpdNMean; + DcnLpdESMean = dcnLpdESMean; + DcnMicroScrMean = dcnMicroScrMean; + DcnScrMean = dcnScrMean; + DcnSlipMean = dcnSlipMean; + DcnAreaCountMean = dcnAreaCountMean; + DcnAreaMean = dcnAreaMean; + DcnHazeAvgMean = dcnHazeAvgMean; + DcnHazeMedianMean = dcnHazeMedianMean; + DcnHazeStdDevMean = dcnHazeStdDevMean; + DcnBin1Mean = dcnBin1Mean; + DcnBin2Mean = dcnBin2Mean; + DcnBin3Mean = dcnBin3Mean; + DcnBin4Mean = dcnBin4Mean; + DcnBin5Mean = dcnBin5Mean; + DcnBin6Mean = dcnBin6Mean; + DcnBin7Mean = dcnBin7Mean; + DcnBin8Mean = dcnBin8Mean; + DcnAllStdDev = dcnAllStdDev; + DcnLpdStdDev = dcnLpdStdDev; + DcnLpdNStdDev = dcnLpdNStdDev; + DcnLpdESStdDev = dcnLpdESStdDev; + DcnMicroScrStdDev = dcnMicroScrStdDev; + DcnScrStdDev = dcnScrStdDev; + DcnSlipStdDev = dcnSlipStdDev; + DcnAreaCountStdDev = dcnAreaCountStdDev; + DcnAreaStdDev = dcnAreaStdDev; + DcnHazeAvgStdDev = dcnHazeAvgStdDev; + DcnHazeMedianStdDev = dcnHazeMedianStdDev; + DcnHazeStdDevStdDev = dcnHazeStdDevStdDev; + DcnBin1StdDev = dcnBin1StdDev; + DcnBin2StdDev = dcnBin2StdDev; + DcnBin3StdDev = dcnBin3StdDev; + DcnBin4StdDev = dcnBin4StdDev; + DcnBin5StdDev = dcnBin5StdDev; + DcnBin6StdDev = dcnBin6StdDev; + DcnBin7StdDev = dcnBin7StdDev; + DcnBin8StdDev = dcnBin8StdDev; + DwnAllMin = dwnAllMin; + DwnLpdMin = dwnLpdMin; + DwnLpdNMin = dwnLpdNMin; + DwnLpdESMin = dwnLpdESMin; + DwnMicroScrMin = dwnMicroScrMin; + DwnScrMin = dwnScrMin; + DwnSlipMin = dwnSlipMin; + DwnAreaCountMin = dwnAreaCountMin; + DwnAreaMin = dwnAreaMin; + DwnHazeAvgMin = dwnHazeAvgMin; + DwnHazeMedianMin = dwnHazeMedianMin; + DwnHazeStdDevMin = dwnHazeStdDevMin; + DwnBin1Min = dwnBin1Min; + DwnBin2Min = dwnBin2Min; + DwnBin3Min = dwnBin3Min; + DwnBin4Min = dwnBin4Min; + DwnBin5Min = dwnBin5Min; + DwnBin6Min = dwnBin6Min; + DwnBin7Min = dwnBin7Min; + DwnBin8Min = dwnBin8Min; + DwnAllMax = dwnAllMax; + DwnLpdMax = dwnLpdMax; + DwnLpdNMax = dwnLpdNMax; + DwnLpdESMax = dwnLpdESMax; + DwnMicroScrMax = dwnMicroScrMax; + DwnScrMax = dwnScrMax; + DwnSlipMax = dwnSlipMax; + DwnAreaCountMax = dwnAreaCountMax; + DwnAreaMax = dwnAreaMax; + DwnHazeAvgMax = dwnHazeAvgMax; + DwnHazeMedianMax = dwnHazeMedianMax; + DwnHazeStdDevMax = dwnHazeStdDevMax; + DwnBin1Max = dwnBin1Max; + DwnBin2Max = dwnBin2Max; + DwnBin3Max = dwnBin3Max; + DwnBin4Max = dwnBin4Max; + DwnBin5Max = dwnBin5Max; + DwnBin6Max = dwnBin6Max; + DwnBin7Max = dwnBin7Max; + DwnBin8Max = dwnBin8Max; + DwnAllMean = dwnAllMean; + DwnLpdMean = dwnLpdMean; + DwnLpdNMean = dwnLpdNMean; + DwnLpdESMean = dwnLpdESMean; + DwnMicroScrMean = dwnMicroScrMean; + DwnScrMean = dwnScrMean; + DwnSlipMean = dwnSlipMean; + DwnAreaCountMean = dwnAreaCountMean; + DwnAreaMean = dwnAreaMean; + DwnHazeAvgMean = dwnHazeAvgMean; + DwnHazeMedianMean = dwnHazeMedianMean; + DwnHazeStdDevMean = dwnHazeStdDevMean; + DwnBin1Mean = dwnBin1Mean; + DwnBin2Mean = dwnBin2Mean; + DwnBin3Mean = dwnBin3Mean; + DwnBin4Mean = dwnBin4Mean; + DwnBin5Mean = dwnBin5Mean; + DwnBin6Mean = dwnBin6Mean; + DwnBin7Mean = dwnBin7Mean; + DwnBin8Mean = dwnBin8Mean; + DwnAllStdDev = dwnAllStdDev; + DwnLpdStdDev = dwnLpdStdDev; + DwnLpdNStdDev = dwnLpdNStdDev; + DwnLpdESStdDev = dwnLpdESStdDev; + DwnMicroScrStdDev = dwnMicroScrStdDev; + DwnScrStdDev = dwnScrStdDev; + DwnSlipStdDev = dwnSlipStdDev; + DwnAreaCountStdDev = dwnAreaCountStdDev; + DwnAreaStdDev = dwnAreaStdDev; + DwnHazeAvgStdDev = dwnHazeAvgStdDev; + DwnHazeMedianStdDev = dwnHazeMedianStdDev; + DwnHazeStdDevStdDev = dwnHazeStdDevStdDev; + DwnBin1StdDev = dwnBin1StdDev; + DwnBin2StdDev = dwnBin2StdDev; + DwnBin3StdDev = dwnBin3StdDev; + DwnBin4StdDev = dwnBin4StdDev; + DwnBin5StdDev = dwnBin5StdDev; + DwnBin6StdDev = dwnBin6StdDev; + DwnBin7StdDev = dwnBin7StdDev; + DwnBin8StdDev = dwnBin8StdDev; + DnnAllMin = dnnAllMin; + DnnLpdMin = dnnLpdMin; + DnnLpdNMin = dnnLpdNMin; + DnnLpdESMin = dnnLpdESMin; + DnnMicroScrMin = dnnMicroScrMin; + DnnScrMin = dnnScrMin; + DnnSlipMin = dnnSlipMin; + DnnAreaCountMin = dnnAreaCountMin; + DnnAreaMin = dnnAreaMin; + DnnHazeAvgMin = dnnHazeAvgMin; + DnnHazeMedianMin = dnnHazeMedianMin; + DnnHazeStdDevMin = dnnHazeStdDevMin; + DnnBin1Min = dnnBin1Min; + DnnBin2Min = dnnBin2Min; + DnnBin3Min = dnnBin3Min; + DnnBin4Min = dnnBin4Min; + DnnBin5Min = dnnBin5Min; + DnnBin6Min = dnnBin6Min; + DnnBin7Min = dnnBin7Min; + DnnBin8Min = dnnBin8Min; + DnnAllMax = dnnAllMax; + DnnLpdMax = dnnLpdMax; + DnnLpdNMax = dnnLpdNMax; + DnnLpdESMax = dnnLpdESMax; + DnnMicroScrMax = dnnMicroScrMax; + DnnScrMax = dnnScrMax; + DnnSlipMax = dnnSlipMax; + DnnAreaCountMax = dnnAreaCountMax; + DnnAreaMax = dnnAreaMax; + DnnHazeAvgMax = dnnHazeAvgMax; + DnnHazeMedianMax = dnnHazeMedianMax; + DnnHazeStdDevMax = dnnHazeStdDevMax; + DnnBin1Max = dnnBin1Max; + DnnBin2Max = dnnBin2Max; + DnnBin3Max = dnnBin3Max; + DnnBin4Max = dnnBin4Max; + DnnBin5Max = dnnBin5Max; + DnnBin6Max = dnnBin6Max; + DnnBin7Max = dnnBin7Max; + DnnBin8Max = dnnBin8Max; + DnnAllMean = dnnAllMean; + DnnLpdMean = dnnLpdMean; + DnnLpdNMean = dnnLpdNMean; + DnnLpdESMean = dnnLpdESMean; + DnnMicroScrMean = dnnMicroScrMean; + DnnScrMean = dnnScrMean; + DnnSlipMean = dnnSlipMean; + DnnAreaCountMean = dnnAreaCountMean; + DnnAreaMean = dnnAreaMean; + DnnHazeAvgMean = dnnHazeAvgMean; + DnnHazeMedianMean = dnnHazeMedianMean; + DnnHazeStdDevMean = dnnHazeStdDevMean; + DnnBin1Mean = dnnBin1Mean; + DnnBin2Mean = dnnBin2Mean; + DnnBin3Mean = dnnBin3Mean; + DnnBin4Mean = dnnBin4Mean; + DnnBin5Mean = dnnBin5Mean; + DnnBin6Mean = dnnBin6Mean; + DnnBin7Mean = dnnBin7Mean; + DnnBin8Mean = dnnBin8Mean; + DnnAllStdDev = dnnAllStdDev; + DnnLpdStdDev = dnnLpdStdDev; + DnnLpdNStdDev = dnnLpdNStdDev; + DnnLpdESStdDev = dnnLpdESStdDev; + DnnMicroScrStdDev = dnnMicroScrStdDev; + DnnScrStdDev = dnnScrStdDev; + DnnSlipStdDev = dnnSlipStdDev; + DnnAreaCountStdDev = dnnAreaCountStdDev; + DnnAreaStdDev = dnnAreaStdDev; + DnnHazeAvgStdDev = dnnHazeAvgStdDev; + DnnHazeMedianStdDev = dnnHazeMedianStdDev; + DnnHazeStdDevStdDev = dnnHazeStdDevStdDev; + DnnBin1StdDev = dnnBin1StdDev; + DnnBin2StdDev = dnnBin2StdDev; + DnnBin3StdDev = dnnBin3StdDev; + DnnBin4StdDev = dnnBin4StdDev; + DnnBin5StdDev = dnnBin5StdDev; + DnnBin6StdDev = dnnBin6StdDev; + DnnBin7StdDev = dnnBin7StdDev; + DnnBin8StdDev = dnnBin8StdDev; + } + + public string DcnAllMin { get; } + public string DcnLpdMin { get; } + public string DcnLpdNMin { get; } + public string DcnLpdESMin { get; } + public string DcnMicroScrMin { get; } + public string DcnScrMin { get; } + public string DcnSlipMin { get; } + public string DcnAreaCountMin { get; } + public string DcnAreaMin { get; } + public string DcnHazeAvgMin { get; } + public string DcnHazeMedianMin { get; } + public string DcnHazeStdDevMin { get; } + public string DcnBin1Min { get; } + public string DcnBin2Min { get; } + public string DcnBin3Min { get; } + public string DcnBin4Min { get; } + public string DcnBin5Min { get; } + public string DcnBin6Min { get; } + public string DcnBin7Min { get; } + public string DcnBin8Min { get; } + public string DcnAllMax { get; } + public string DcnLpdMax { get; } + public string DcnLpdNMax { get; } + public string DcnLpdESMax { get; } + public string DcnMicroScrMax { get; } + public string DcnScrMax { get; } + public string DcnSlipMax { get; } + public string DcnAreaCountMax { get; } + public string DcnAreaMax { get; } + public string DcnHazeAvgMax { get; } + public string DcnHazeMedianMax { get; } + public string DcnHazeStdDevMax { get; } + public string DcnBin1Max { get; } + public string DcnBin2Max { get; } + public string DcnBin3Max { get; } + public string DcnBin4Max { get; } + public string DcnBin5Max { get; } + public string DcnBin6Max { get; } + public string DcnBin7Max { get; } + public string DcnBin8Max { get; } + public string DcnAllMean { get; } + public string DcnLpdMean { get; } + public string DcnLpdNMean { get; } + public string DcnLpdESMean { get; } + public string DcnMicroScrMean { get; } + public string DcnScrMean { get; } + public string DcnSlipMean { get; } + public string DcnAreaCountMean { get; } + public string DcnAreaMean { get; } + public string DcnHazeAvgMean { get; } + public string DcnHazeMedianMean { get; } + public string DcnHazeStdDevMean { get; } + public string DcnBin1Mean { get; } + public string DcnBin2Mean { get; } + public string DcnBin3Mean { get; } + public string DcnBin4Mean { get; } + public string DcnBin5Mean { get; } + public string DcnBin6Mean { get; } + public string DcnBin7Mean { get; } + public string DcnBin8Mean { get; } + public string DcnAllStdDev { get; } + public string DcnLpdStdDev { get; } + public string DcnLpdNStdDev { get; } + public string DcnLpdESStdDev { get; } + public string DcnMicroScrStdDev { get; } + public string DcnScrStdDev { get; } + public string DcnSlipStdDev { get; } + public string DcnAreaCountStdDev { get; } + public string DcnAreaStdDev { get; } + public string DcnHazeAvgStdDev { get; } + public string DcnHazeMedianStdDev { get; } + public string DcnHazeStdDevStdDev { get; } + public string DcnBin1StdDev { get; } + public string DcnBin2StdDev { get; } + public string DcnBin3StdDev { get; } + public string DcnBin4StdDev { get; } + public string DcnBin5StdDev { get; } + public string DcnBin6StdDev { get; } + public string DcnBin7StdDev { get; } + public string DcnBin8StdDev { get; } + public string DwnAllMin { get; } + public string DwnLpdMin { get; } + public string DwnLpdNMin { get; } + public string DwnLpdESMin { get; } + public string DwnMicroScrMin { get; } + public string DwnScrMin { get; } + public string DwnSlipMin { get; } + public string DwnAreaCountMin { get; } + public string DwnAreaMin { get; } + public string DwnHazeAvgMin { get; } + public string DwnHazeMedianMin { get; } + public string DwnHazeStdDevMin { get; } + public string DwnBin1Min { get; } + public string DwnBin2Min { get; } + public string DwnBin3Min { get; } + public string DwnBin4Min { get; } + public string DwnBin5Min { get; } + public string DwnBin6Min { get; } + public string DwnBin7Min { get; } + public string DwnBin8Min { get; } + public string DwnAllMax { get; } + public string DwnLpdMax { get; } + public string DwnLpdNMax { get; } + public string DwnLpdESMax { get; } + public string DwnMicroScrMax { get; } + public string DwnScrMax { get; } + public string DwnSlipMax { get; } + public string DwnAreaCountMax { get; } + public string DwnAreaMax { get; } + public string DwnHazeAvgMax { get; } + public string DwnHazeMedianMax { get; } + public string DwnHazeStdDevMax { get; } + public string DwnBin1Max { get; } + public string DwnBin2Max { get; } + public string DwnBin3Max { get; } + public string DwnBin4Max { get; } + public string DwnBin5Max { get; } + public string DwnBin6Max { get; } + public string DwnBin7Max { get; } + public string DwnBin8Max { get; } + public string DwnAllMean { get; } + public string DwnLpdMean { get; } + public string DwnLpdNMean { get; } + public string DwnLpdESMean { get; } + public string DwnMicroScrMean { get; } + public string DwnScrMean { get; } + public string DwnSlipMean { get; } + public string DwnAreaCountMean { get; } + public string DwnAreaMean { get; } + public string DwnHazeAvgMean { get; } + public string DwnHazeMedianMean { get; } + public string DwnHazeStdDevMean { get; } + public string DwnBin1Mean { get; } + public string DwnBin2Mean { get; } + public string DwnBin3Mean { get; } + public string DwnBin4Mean { get; } + public string DwnBin5Mean { get; } + public string DwnBin6Mean { get; } + public string DwnBin7Mean { get; } + public string DwnBin8Mean { get; } + public string DwnAllStdDev { get; } + public string DwnLpdStdDev { get; } + public string DwnLpdNStdDev { get; } + public string DwnLpdESStdDev { get; } + public string DwnMicroScrStdDev { get; } + public string DwnScrStdDev { get; } + public string DwnSlipStdDev { get; } + public string DwnAreaCountStdDev { get; } + public string DwnAreaStdDev { get; } + public string DwnHazeAvgStdDev { get; } + public string DwnHazeMedianStdDev { get; } + public string DwnHazeStdDevStdDev { get; } + public string DwnBin1StdDev { get; } + public string DwnBin2StdDev { get; } + public string DwnBin3StdDev { get; } + public string DwnBin4StdDev { get; } + public string DwnBin5StdDev { get; } + public string DwnBin6StdDev { get; } + public string DwnBin7StdDev { get; } + public string DwnBin8StdDev { get; } + public string DnnAllMin { get; } + public string DnnLpdMin { get; } + public string DnnLpdNMin { get; } + public string DnnLpdESMin { get; } + public string DnnMicroScrMin { get; } + public string DnnScrMin { get; } + public string DnnSlipMin { get; } + public string DnnAreaCountMin { get; } + public string DnnAreaMin { get; } + public string DnnHazeAvgMin { get; } + public string DnnHazeMedianMin { get; } + public string DnnHazeStdDevMin { get; } + public string DnnBin1Min { get; } + public string DnnBin2Min { get; } + public string DnnBin3Min { get; } + public string DnnBin4Min { get; } + public string DnnBin5Min { get; } + public string DnnBin6Min { get; } + public string DnnBin7Min { get; } + public string DnnBin8Min { get; } + public string DnnAllMax { get; } + public string DnnLpdMax { get; } + public string DnnLpdNMax { get; } + public string DnnLpdESMax { get; } + public string DnnMicroScrMax { get; } + public string DnnScrMax { get; } + public string DnnSlipMax { get; } + public string DnnAreaCountMax { get; } + public string DnnAreaMax { get; } + public string DnnHazeAvgMax { get; } + public string DnnHazeMedianMax { get; } + public string DnnHazeStdDevMax { get; } + public string DnnBin1Max { get; } + public string DnnBin2Max { get; } + public string DnnBin3Max { get; } + public string DnnBin4Max { get; } + public string DnnBin5Max { get; } + public string DnnBin6Max { get; } + public string DnnBin7Max { get; } + public string DnnBin8Max { get; } + public string DnnAllMean { get; } + public string DnnLpdMean { get; } + public string DnnLpdNMean { get; } + public string DnnLpdESMean { get; } + public string DnnMicroScrMean { get; } + public string DnnScrMean { get; } + public string DnnSlipMean { get; } + public string DnnAreaCountMean { get; } + public string DnnAreaMean { get; } + public string DnnHazeAvgMean { get; } + public string DnnHazeMedianMean { get; } + public string DnnHazeStdDevMean { get; } + public string DnnBin1Mean { get; } + public string DnnBin2Mean { get; } + public string DnnBin3Mean { get; } + public string DnnBin4Mean { get; } + public string DnnBin5Mean { get; } + public string DnnBin6Mean { get; } + public string DnnBin7Mean { get; } + public string DnnBin8Mean { get; } + public string DnnAllStdDev { get; } + public string DnnLpdStdDev { get; } + public string DnnLpdNStdDev { get; } + public string DnnLpdESStdDev { get; } + public string DnnMicroScrStdDev { get; } + public string DnnScrStdDev { get; } + public string DnnSlipStdDev { get; } + public string DnnAreaCountStdDev { get; } + public string DnnAreaStdDev { get; } + public string DnnHazeAvgStdDev { get; } + public string DnnHazeMedianStdDev { get; } + public string DnnHazeStdDevStdDev { get; } + public string DnnBin1StdDev { get; } + public string DnnBin2StdDev { get; } + public string DnnBin3StdDev { get; } + public string DnnBin4StdDev { get; } + public string DnnBin5StdDev { get; } + public string DnnBin6StdDev { get; } + public string DnnBin7StdDev { get; } + public string DnnBin8StdDev { get; } + + private static string PeekNextLine(string text, int[] i) + { + int j = i[0]; + string toEol = Header.GetToEOL(text, i); + i[0] = j; + return toEol; + } + + private static void GetWaferSummaryInfo(Constant constant, string text, int[] i, List waferSummaryInfos, string whichInfo) + { + Header.ScanPast(text, i, whichInfo); + _ = Header.GetToEOL(text, i); + _ = Header.GetToEOL(text, i); + _ = Header.GetToEOL(text, i); + _ = Header.GetToEOL(text, i); + string[] segments; + WaferSummaryInfo waferSummaryInfo; + for (string line = PeekNextLine(text, i); line[0] != '-'; line = PeekNextLine(text, i)) + { + line = Header.GetToEOL(text, i); + waferSummaryInfo = new WaferSummaryInfo(); + if (line.StartsWith(constant.Grade)) + line = line.Replace(constant.Grade, string.Concat(constant.F1, constant.Grade.Substring(4))); + else if (line.StartsWith(constant.Reject)) + line = line.Replace(constant.Reject, string.Concat(constant.F1, constant.Reject.Substring(4))); + else if (line.StartsWith(constant.OverLoad)) + line = line.Replace(constant.OverLoad, string.Concat(constant.F1, constant.OverLoad.Substring(4))); + segments = line.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + waferSummaryInfo.Side = segments[0]; + waferSummaryInfo.WaferID = segments[1]; + waferSummaryInfo.Grade = segments[2]; + waferSummaryInfo.SrcDest = segments[3]; + if (segments.Length > 4) + { + waferSummaryInfo.Lpd = segments[5]; + waferSummaryInfo.LpdN = segments[6]; + waferSummaryInfo.LpdES = segments[7]; + waferSummaryInfo.MicroScr = segments[8]; + waferSummaryInfo.Scr = segments[9]; + waferSummaryInfo.Slip = segments[10]; + waferSummaryInfo.AreaNum = segments[11]; + waferSummaryInfo.Area = segments[12]; + waferSummaryInfo.HazeAvg = segments[13]; + waferSummaryInfo.HazeMedian = segments[14]; + waferSummaryInfo.HazeStdDev = segments[15]; + waferSummaryInfo.Bin1 = segments[16]; + waferSummaryInfo.Bin2 = segments[17]; + waferSummaryInfo.Bin3 = segments[18]; + waferSummaryInfo.Bin4 = segments[19]; + waferSummaryInfo.Bin5 = segments[20]; + waferSummaryInfo.Bin6 = segments[21]; + waferSummaryInfo.Bin7 = segments[22]; + waferSummaryInfo.Bin8 = segments[23]; + } + if (waferSummaryInfo.WaferID == "-1") + { + segments = waferSummaryInfo.SrcDest.Split('-')[0].Split('/'); + waferSummaryInfo.WaferID = segments[segments.Length - 1]; + } + waferSummaryInfos.Add(waferSummaryInfo); + } + } + + internal static Summary Get(Constant constant, int[] i, string text, List dcnTotals, List dwnTotals, List dnnTotals) + { + Summary result; + string[] dwnTotalsMinSegments; + string[] dwnTotalsMaxSegments; + string[] dwnTotalsMeanSegments; + string[] dwnTotalsStandardDevSegments; + string[] dnnTotalsMinSegments; + string[] dnnTotalsMaxSegments; + string[] dnnTotalsMeanSegments; + string[] dnnTotalsStandardDevSegments; + GetWaferSummaryInfo(constant, text, i, dcnTotals, constant.DCNTotals); + Header.ScanPast(text, i, constant.Min); + string[] dncTotalsMinSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.Max); + string[] dncTotalsMaxSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.Mean); + string[] dncTotalsMeanSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.StdDev); + string[] dncTotalsStandardDevSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + if (!text.Contains(constant.DWNTotals)) + { + for (int j = 0; j < dcnTotals.Count; j++) + dwnTotals.Add(new WaferSummaryInfo()); + dwnTotalsMinSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + dwnTotalsMaxSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + dwnTotalsMeanSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + dwnTotalsStandardDevSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + } + else + { + GetWaferSummaryInfo(constant, text, i, dwnTotals, constant.DWNTotals); + Header.ScanPast(text, i, constant.Min); + dwnTotalsMinSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.Max); + dwnTotalsMaxSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.Mean); + dwnTotalsMeanSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.StdDev); + dwnTotalsStandardDevSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + } + if (!text.Contains(constant.DNNTotals)) + { + for (int j = 0; j < dcnTotals.Count; j++) + dnnTotals.Add(new WaferSummaryInfo()); + dnnTotalsMinSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + dnnTotalsMaxSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + dnnTotalsMeanSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + dnnTotalsStandardDevSegments = constant.Empty35Spaces.Split(new char[] { ' ' }, StringSplitOptions.None); + } + else + { + GetWaferSummaryInfo(constant, text, i, dnnTotals, constant.DNNTotals); + Header.ScanPast(text, i, constant.Min); + dnnTotalsMinSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.Max); + dnnTotalsMaxSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.Mean); + dnnTotalsMeanSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + Header.ScanPast(text, i, constant.StdDev); + dnnTotalsStandardDevSegments = Header.GetToEOL(text, i).Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); + } + result = new(dcnAllMin: dncTotalsMinSegments[0], + dcnLpdMin: dncTotalsMinSegments[1], + dcnLpdNMin: dncTotalsMinSegments[2], + dcnLpdESMin: dncTotalsMinSegments[3], + dcnMicroScrMin: dncTotalsMinSegments[4], + dcnScrMin: dncTotalsMinSegments[5], + dcnSlipMin: dncTotalsMinSegments[6], + dcnAreaCountMin: dncTotalsMinSegments[7], + dcnAreaMin: dncTotalsMinSegments[8], + dcnHazeAvgMin: dncTotalsMinSegments[9], + dcnHazeMedianMin: dncTotalsMinSegments[10], + dcnHazeStdDevMin: dncTotalsMinSegments[11], + dcnBin1Min: dncTotalsMinSegments[12], + dcnBin2Min: dncTotalsMinSegments[13], + dcnBin3Min: dncTotalsMinSegments[14], + dcnBin4Min: dncTotalsMinSegments[15], + dcnBin5Min: dncTotalsMinSegments[16], + dcnBin6Min: dncTotalsMinSegments[17], + dcnBin7Min: dncTotalsMinSegments[18], + dcnBin8Min: dncTotalsMinSegments[19], + dcnAllMax: dncTotalsMaxSegments[0], + dcnLpdMax: dncTotalsMaxSegments[1], + dcnLpdNMax: dncTotalsMaxSegments[2], + dcnLpdESMax: dncTotalsMaxSegments[3], + dcnMicroScrMax: dncTotalsMaxSegments[4], + dcnScrMax: dncTotalsMaxSegments[5], + dcnSlipMax: dncTotalsMaxSegments[6], + dcnAreaCountMax: dncTotalsMaxSegments[7], + dcnAreaMax: dncTotalsMaxSegments[8], + dcnHazeAvgMax: dncTotalsMaxSegments[9], + dcnHazeMedianMax: dncTotalsMaxSegments[10], + dcnHazeStdDevMax: dncTotalsMaxSegments[11], + dcnBin1Max: dncTotalsMaxSegments[12], + dcnBin2Max: dncTotalsMaxSegments[13], + dcnBin3Max: dncTotalsMaxSegments[14], + dcnBin4Max: dncTotalsMaxSegments[15], + dcnBin5Max: dncTotalsMaxSegments[16], + dcnBin6Max: dncTotalsMaxSegments[17], + dcnBin7Max: dncTotalsMaxSegments[18], + dcnBin8Max: dncTotalsMaxSegments[19], + dcnAllMean: dncTotalsMeanSegments[0], + dcnLpdMean: dncTotalsMeanSegments[1], + dcnLpdNMean: dncTotalsMeanSegments[2], + dcnLpdESMean: dncTotalsMeanSegments[3], + dcnMicroScrMean: dncTotalsMeanSegments[4], + dcnScrMean: dncTotalsMeanSegments[5], + dcnSlipMean: dncTotalsMeanSegments[6], + dcnAreaCountMean: dncTotalsMeanSegments[7], + dcnAreaMean: dncTotalsMeanSegments[8], + dcnHazeAvgMean: dncTotalsMeanSegments[9], + dcnHazeMedianMean: dncTotalsMeanSegments[10], + dcnHazeStdDevMean: dncTotalsMeanSegments[11], + dcnBin1Mean: dncTotalsMeanSegments[12], + dcnBin2Mean: dncTotalsMeanSegments[13], + dcnBin3Mean: dncTotalsMeanSegments[14], + dcnBin4Mean: dncTotalsMeanSegments[15], + dcnBin5Mean: dncTotalsMeanSegments[16], + dcnBin6Mean: dncTotalsMeanSegments[17], + dcnBin7Mean: dncTotalsMeanSegments[18], + dcnBin8Mean: dncTotalsMeanSegments[19], + dcnAllStdDev: dncTotalsStandardDevSegments[0], + dcnLpdStdDev: dncTotalsStandardDevSegments[1], + dcnLpdNStdDev: dncTotalsStandardDevSegments[2], + dcnLpdESStdDev: dncTotalsStandardDevSegments[3], + dcnMicroScrStdDev: dncTotalsStandardDevSegments[4], + dcnScrStdDev: dncTotalsStandardDevSegments[5], + dcnSlipStdDev: dncTotalsStandardDevSegments[6], + dcnAreaCountStdDev: dncTotalsStandardDevSegments[7], + dcnAreaStdDev: dncTotalsStandardDevSegments[8], + dcnHazeAvgStdDev: dncTotalsStandardDevSegments[9], + dcnHazeMedianStdDev: dncTotalsStandardDevSegments[10], + dcnHazeStdDevStdDev: dncTotalsStandardDevSegments[11], + dcnBin1StdDev: dncTotalsStandardDevSegments[12], + dcnBin2StdDev: dncTotalsStandardDevSegments[13], + dcnBin3StdDev: dncTotalsStandardDevSegments[14], + dcnBin4StdDev: dncTotalsStandardDevSegments[15], + dcnBin5StdDev: dncTotalsStandardDevSegments[16], + dcnBin6StdDev: dncTotalsStandardDevSegments[17], + dcnBin7StdDev: dncTotalsStandardDevSegments[18], + dcnBin8StdDev: dncTotalsStandardDevSegments[19], + dwnAllMin: dwnTotalsMinSegments[0], + dwnLpdMin: dwnTotalsMinSegments[1], + dwnLpdNMin: dwnTotalsMinSegments[2], + dwnLpdESMin: dwnTotalsMinSegments[3], + dwnMicroScrMin: dwnTotalsMinSegments[4], + dwnScrMin: dwnTotalsMinSegments[5], + dwnSlipMin: dwnTotalsMinSegments[6], + dwnAreaCountMin: dwnTotalsMinSegments[7], + dwnAreaMin: dwnTotalsMinSegments[8], + dwnHazeAvgMin: dwnTotalsMinSegments[9], + dwnHazeMedianMin: dwnTotalsMinSegments[10], + dwnHazeStdDevMin: dwnTotalsMinSegments[11], + dwnBin1Min: dwnTotalsMinSegments[12], + dwnBin2Min: dwnTotalsMinSegments[13], + dwnBin3Min: dwnTotalsMinSegments[14], + dwnBin4Min: dwnTotalsMinSegments[15], + dwnBin5Min: dwnTotalsMinSegments[16], + dwnBin6Min: dwnTotalsMinSegments[17], + dwnBin7Min: dwnTotalsMinSegments[18], + dwnBin8Min: dwnTotalsMinSegments[19], + dwnAllMax: dwnTotalsMaxSegments[0], + dwnLpdMax: dwnTotalsMaxSegments[1], + dwnLpdNMax: dwnTotalsMaxSegments[2], + dwnLpdESMax: dwnTotalsMaxSegments[3], + dwnMicroScrMax: dwnTotalsMaxSegments[4], + dwnScrMax: dwnTotalsMaxSegments[5], + dwnSlipMax: dwnTotalsMaxSegments[6], + dwnAreaCountMax: dwnTotalsMaxSegments[7], + dwnAreaMax: dwnTotalsMaxSegments[8], + dwnHazeAvgMax: dwnTotalsMaxSegments[9], + dwnHazeMedianMax: dwnTotalsMaxSegments[10], + dwnHazeStdDevMax: dwnTotalsMaxSegments[11], + dwnBin1Max: dwnTotalsMaxSegments[12], + dwnBin2Max: dwnTotalsMaxSegments[13], + dwnBin3Max: dwnTotalsMaxSegments[14], + dwnBin4Max: dwnTotalsMaxSegments[15], + dwnBin5Max: dwnTotalsMaxSegments[16], + dwnBin6Max: dwnTotalsMaxSegments[17], + dwnBin7Max: dwnTotalsMaxSegments[18], + dwnBin8Max: dwnTotalsMaxSegments[19], + dwnAllMean: dwnTotalsMeanSegments[0], + dwnLpdMean: dwnTotalsMeanSegments[1], + dwnLpdNMean: dwnTotalsMeanSegments[2], + dwnLpdESMean: dwnTotalsMeanSegments[3], + dwnMicroScrMean: dwnTotalsMeanSegments[4], + dwnScrMean: dwnTotalsMeanSegments[5], + dwnSlipMean: dwnTotalsMeanSegments[6], + dwnAreaCountMean: dwnTotalsMeanSegments[7], + dwnAreaMean: dwnTotalsMeanSegments[8], + dwnHazeAvgMean: dwnTotalsMeanSegments[9], + dwnHazeMedianMean: dwnTotalsMeanSegments[10], + dwnHazeStdDevMean: dwnTotalsMeanSegments[11], + dwnBin1Mean: dwnTotalsMeanSegments[12], + dwnBin2Mean: dwnTotalsMeanSegments[13], + dwnBin3Mean: dwnTotalsMeanSegments[14], + dwnBin4Mean: dwnTotalsMeanSegments[15], + dwnBin5Mean: dwnTotalsMeanSegments[16], + dwnBin6Mean: dwnTotalsMeanSegments[17], + dwnBin7Mean: dwnTotalsMeanSegments[18], + dwnBin8Mean: dwnTotalsMeanSegments[19], + dwnAllStdDev: dwnTotalsStandardDevSegments[0], + dwnLpdStdDev: dwnTotalsStandardDevSegments[1], + dwnLpdNStdDev: dwnTotalsStandardDevSegments[2], + dwnLpdESStdDev: dwnTotalsStandardDevSegments[3], + dwnMicroScrStdDev: dwnTotalsStandardDevSegments[4], + dwnScrStdDev: dwnTotalsStandardDevSegments[5], + dwnSlipStdDev: dwnTotalsStandardDevSegments[6], + dwnAreaCountStdDev: dwnTotalsStandardDevSegments[7], + dwnAreaStdDev: dwnTotalsStandardDevSegments[8], + dwnHazeAvgStdDev: dwnTotalsStandardDevSegments[9], + dwnHazeMedianStdDev: dwnTotalsStandardDevSegments[10], + dwnHazeStdDevStdDev: dwnTotalsStandardDevSegments[11], + dwnBin1StdDev: dwnTotalsStandardDevSegments[12], + dwnBin2StdDev: dwnTotalsStandardDevSegments[13], + dwnBin3StdDev: dwnTotalsStandardDevSegments[14], + dwnBin4StdDev: dwnTotalsStandardDevSegments[15], + dwnBin5StdDev: dwnTotalsStandardDevSegments[16], + dwnBin6StdDev: dwnTotalsStandardDevSegments[17], + dwnBin7StdDev: dwnTotalsStandardDevSegments[18], + dwnBin8StdDev: dwnTotalsStandardDevSegments[19], + dnnAllMin: dnnTotalsMinSegments[0], + dnnLpdMin: dnnTotalsMinSegments[1], + dnnLpdNMin: dnnTotalsMinSegments[2], + dnnLpdESMin: dnnTotalsMinSegments[3], + dnnMicroScrMin: dnnTotalsMinSegments[4], + dnnScrMin: dnnTotalsMinSegments[5], + dnnSlipMin: dnnTotalsMinSegments[6], + dnnAreaCountMin: dnnTotalsMinSegments[7], + dnnAreaMin: dnnTotalsMinSegments[8], + dnnHazeAvgMin: dnnTotalsMinSegments[9], + dnnHazeMedianMin: dnnTotalsMinSegments[10], + dnnHazeStdDevMin: dnnTotalsMinSegments[11], + dnnBin1Min: dnnTotalsMinSegments[12], + dnnBin2Min: dnnTotalsMinSegments[13], + dnnBin3Min: dnnTotalsMinSegments[14], + dnnBin4Min: dnnTotalsMinSegments[15], + dnnBin5Min: dnnTotalsMinSegments[16], + dnnBin6Min: dnnTotalsMinSegments[17], + dnnBin7Min: dnnTotalsMinSegments[18], + dnnBin8Min: dnnTotalsMinSegments[19], + dnnAllMax: dnnTotalsMaxSegments[0], + dnnLpdMax: dnnTotalsMaxSegments[1], + dnnLpdNMax: dnnTotalsMaxSegments[2], + dnnLpdESMax: dnnTotalsMaxSegments[3], + dnnMicroScrMax: dnnTotalsMaxSegments[4], + dnnScrMax: dnnTotalsMaxSegments[5], + dnnSlipMax: dnnTotalsMaxSegments[6], + dnnAreaCountMax: dnnTotalsMaxSegments[7], + dnnAreaMax: dnnTotalsMaxSegments[8], + dnnHazeAvgMax: dnnTotalsMaxSegments[9], + dnnHazeMedianMax: dnnTotalsMaxSegments[10], + dnnHazeStdDevMax: dnnTotalsMaxSegments[11], + dnnBin1Max: dnnTotalsMaxSegments[12], + dnnBin2Max: dnnTotalsMaxSegments[13], + dnnBin3Max: dnnTotalsMaxSegments[14], + dnnBin4Max: dnnTotalsMaxSegments[15], + dnnBin5Max: dnnTotalsMaxSegments[16], + dnnBin6Max: dnnTotalsMaxSegments[17], + dnnBin7Max: dnnTotalsMaxSegments[18], + dnnBin8Max: dnnTotalsMaxSegments[19], + dnnAllMean: dnnTotalsMeanSegments[0], + dnnLpdMean: dnnTotalsMeanSegments[1], + dnnLpdNMean: dnnTotalsMeanSegments[2], + dnnLpdESMean: dnnTotalsMeanSegments[3], + dnnMicroScrMean: dnnTotalsMeanSegments[4], + dnnScrMean: dnnTotalsMeanSegments[5], + dnnSlipMean: dnnTotalsMeanSegments[6], + dnnAreaCountMean: dnnTotalsMeanSegments[7], + dnnAreaMean: dnnTotalsMeanSegments[8], + dnnHazeAvgMean: dnnTotalsMeanSegments[9], + dnnHazeMedianMean: dnnTotalsMeanSegments[10], + dnnHazeStdDevMean: dnnTotalsMeanSegments[11], + dnnBin1Mean: dnnTotalsMeanSegments[12], + dnnBin2Mean: dnnTotalsMeanSegments[13], + dnnBin3Mean: dnnTotalsMeanSegments[14], + dnnBin4Mean: dnnTotalsMeanSegments[15], + dnnBin5Mean: dnnTotalsMeanSegments[16], + dnnBin6Mean: dnnTotalsMeanSegments[17], + dnnBin7Mean: dnnTotalsMeanSegments[18], + dnnBin8Mean: dnnTotalsMeanSegments[19], + dnnAllStdDev: dnnTotalsStandardDevSegments[0], + dnnLpdStdDev: dnnTotalsStandardDevSegments[1], + dnnLpdNStdDev: dnnTotalsStandardDevSegments[2], + dnnLpdESStdDev: dnnTotalsStandardDevSegments[3], + dnnMicroScrStdDev: dnnTotalsStandardDevSegments[4], + dnnScrStdDev: dnnTotalsStandardDevSegments[5], + dnnSlipStdDev: dnnTotalsStandardDevSegments[6], + dnnAreaCountStdDev: dnnTotalsStandardDevSegments[7], + dnnAreaStdDev: dnnTotalsStandardDevSegments[8], + dnnHazeAvgStdDev: dnnTotalsStandardDevSegments[9], + dnnHazeMedianStdDev: dnnTotalsStandardDevSegments[10], + dnnHazeStdDevStdDev: dnnTotalsStandardDevSegments[11], + dnnBin1StdDev: dnnTotalsStandardDevSegments[12], + dnnBin2StdDev: dnnTotalsStandardDevSegments[13], + dnnBin3StdDev: dnnTotalsStandardDevSegments[14], + dnnBin4StdDev: dnnTotalsStandardDevSegments[15], + dnnBin5StdDev: dnnTotalsStandardDevSegments[16], + dnnBin6StdDev: dnnTotalsStandardDevSegments[17], + dnnBin7StdDev: dnnTotalsStandardDevSegments[18], + dnnBin8StdDev: dnnTotalsStandardDevSegments[19]); + return result; + } + +} + +[JsonSourceGenerationOptions(WriteIndented = true)] +[JsonSerializable(typeof(Summary))] +internal partial class SummarySourceGenerationContext : JsonSerializerContext +{ +} \ No newline at end of file diff --git a/Adaptation/FileHandlers/txt/Wafer.cs b/Adaptation/FileHandlers/txt/Wafer.cs new file mode 100644 index 0000000..605b6e1 --- /dev/null +++ b/Adaptation/FileHandlers/txt/Wafer.cs @@ -0,0 +1,287 @@ +using System.Collections.Generic; +using System.Collections.ObjectModel; +using System.Text.Json.Serialization; + +namespace Adaptation.FileHandlers.txt; + +public class Wafer +{ + + public Wafer(string side, + string waferID, + string grade, + string srcDest, + string dcnAll, + string dcnLpd, + string dcnLpdN, + string dcnLpdES, + string dcnMicroScr, + string dcnScr, + string dcnSlip, + string dcnAreaCount, + string dcnArea, + string dcnHazeAvg, + string dcnHazeMedian, + string dcnHazeStdDev, + string dcnBin1, + string dcnBin2, + string dcnBin3, + string dcnBin4, + string dcnBin5, + string dcnBin6, + string dcnBin7, + string dcnBin8, + string dwnAll, + string dwnLpd, + string dwnLpdN, + string dwnLpdES, + string dwnMicroScr, + string dwnScr, + string dwnSlip, + string dwnAreaCount, + string dwnArea, + string dwnHazeAvg, + string dwnHazeMedian, + string dwnHazeStdDev, + string dwnBin1, + string dwnBin2, + string dwnBin3, + string dwnBin4, + string dwnBin5, + string dwnBin6, + string dwnBin7, + string dwnBin8, + string dnnAll, + string dnnLpd, + string dnnLpdN, + string dnnLpdES, + string dnnMicroScr, + string dnnScr, + string dnnSlip, + string dnnAreaCount, + string dnnArea, + string dnnHazeAvg, + string dnnHazeMedian, + string dnnHazeStdDev, + string dnnBin1, + string dnnBin2, + string dnnBin3, + string dnnBin4, + string dnnBin5, + string dnnBin6, + string dnnBin7, + string dnnBin8) + { + Side = side; + WaferID = waferID; + Grade = grade; + SrcDest = srcDest; + DcnAll = dcnAll; + DcnLpd = dcnLpd; + DcnLpdN = dcnLpdN; + DcnLpdES = dcnLpdES; + DcnMicroScr = dcnMicroScr; + DcnScr = dcnScr; + DcnSlip = dcnSlip; + DcnAreaCount = dcnAreaCount; + DcnArea = dcnArea; + DcnHazeAvg = dcnHazeAvg; + DcnHazeMedian = dcnHazeMedian; + DcnHazeStdDev = dcnHazeStdDev; + DcnBin1 = dcnBin1; + DcnBin2 = dcnBin2; + DcnBin3 = dcnBin3; + DcnBin4 = dcnBin4; + DcnBin5 = dcnBin5; + DcnBin6 = dcnBin6; + DcnBin7 = dcnBin7; + DcnBin8 = dcnBin8; + DwnAll = dwnAll; + DwnLpd = dwnLpd; + DwnLpdN = dwnLpdN; + DwnLpdES = dwnLpdES; + DwnMicroScr = dwnMicroScr; + DwnScr = dwnScr; + DwnSlip = dwnSlip; + DwnAreaCount = dwnAreaCount; + DwnArea = dwnArea; + DwnHazeAvg = dwnHazeAvg; + DwnHazeMedian = dwnHazeMedian; + DwnHazeStdDev = dwnHazeStdDev; + DwnBin1 = dwnBin1; + DwnBin2 = dwnBin2; + DwnBin3 = dwnBin3; + DwnBin4 = dwnBin4; + DwnBin5 = dwnBin5; + DwnBin6 = dwnBin6; + DwnBin7 = dwnBin7; + DwnBin8 = dwnBin8; + DnnAll = dnnAll; + DnnLpd = dnnLpd; + DnnLpdN = dnnLpdN; + DnnLpdES = dnnLpdES; + DnnMicroScr = dnnMicroScr; + DnnScr = dnnScr; + DnnSlip = dnnSlip; + DnnAreaCount = dnnAreaCount; + DnnArea = dnnArea; + DnnHazeAvg = dnnHazeAvg; + DnnHazeMedian = dnnHazeMedian; + DnnHazeStdDev = dnnHazeStdDev; + DnnBin1 = dnnBin1; + DnnBin2 = dnnBin2; + DnnBin3 = dnnBin3; + DnnBin4 = dnnBin4; + DnnBin5 = dnnBin5; + DnnBin6 = dnnBin6; + DnnBin7 = dnnBin7; + DnnBin8 = dnnBin8; + } + + public string Side { get; } + public string WaferID { get; } + public string Grade { get; } + public string SrcDest { get; } + public string DcnAll { get; } + public string DcnLpd { get; } + public string DcnLpdN { get; } + public string DcnLpdES { get; } + public string DcnMicroScr { get; } + public string DcnScr { get; } + public string DcnSlip { get; } + public string DcnAreaCount { get; } + public string DcnArea { get; } + public string DcnHazeAvg { get; } + public string DcnHazeMedian { get; } + public string DcnHazeStdDev { get; } + public string DcnBin1 { get; } + public string DcnBin2 { get; } + public string DcnBin3 { get; } + public string DcnBin4 { get; } + public string DcnBin5 { get; } + public string DcnBin6 { get; } + public string DcnBin7 { get; } + public string DcnBin8 { get; } + public string DwnAll { get; } + public string DwnLpd { get; } + public string DwnLpdN { get; } + public string DwnLpdES { get; } + public string DwnMicroScr { get; } + public string DwnScr { get; } + public string DwnSlip { get; } + public string DwnAreaCount { get; } + public string DwnArea { get; } + public string DwnHazeAvg { get; } + public string DwnHazeMedian { get; } + public string DwnHazeStdDev { get; } + public string DwnBin1 { get; } + public string DwnBin2 { get; } + public string DwnBin3 { get; } + public string DwnBin4 { get; } + public string DwnBin5 { get; } + public string DwnBin6 { get; } + public string DwnBin7 { get; } + public string DwnBin8 { get; } + public string DnnAll { get; } + public string DnnLpd { get; } + public string DnnLpdN { get; } + public string DnnLpdES { get; } + public string DnnMicroScr { get; } + public string DnnScr { get; } + public string DnnSlip { get; } + public string DnnAreaCount { get; } + public string DnnArea { get; } + public string DnnHazeAvg { get; } + public string DnnHazeMedian { get; } + public string DnnHazeStdDev { get; } + public string DnnBin1 { get; } + public string DnnBin2 { get; } + public string DnnBin3 { get; } + public string DnnBin4 { get; } + public string DnnBin5 { get; } + public string DnnBin6 { get; } + public string DnnBin7 { get; } + public string DnnBin8 { get; } + + internal static ReadOnlyCollection Get(Constant constant, List dcnTotals, List dwnTotals, List dnnTotals) + { + List results = new(); + Wafer wafer; + for (int i = 0; i < dcnTotals.Count; i++) + { + wafer = new(side: dcnTotals[i].Side, + waferID: dcnTotals[i].WaferID, + grade: dcnTotals[i].Grade, + srcDest: dcnTotals[i].SrcDest, + dcnAll: dcnTotals[i].All ?? string.Empty, + dcnLpd: dcnTotals[i].Lpd ?? string.Empty, + dcnLpdN: dcnTotals[i].LpdN ?? string.Empty, + dcnLpdES: dcnTotals[i].LpdES ?? string.Empty, + dcnMicroScr: dcnTotals[i].MicroScr ?? string.Empty, + dcnScr: dcnTotals[i].Scr ?? string.Empty, + dcnSlip: dcnTotals[i].Slip ?? string.Empty, + dcnAreaCount: dcnTotals[i].AreaNum ?? string.Empty, + dcnArea: dcnTotals[i].Area ?? string.Empty, + dcnHazeAvg: dcnTotals[i].HazeAvg ?? string.Empty, + dcnHazeMedian: dcnTotals[i].HazeMedian ?? string.Empty, + dcnHazeStdDev: dcnTotals[i].HazeStdDev ?? string.Empty, + dcnBin1: dcnTotals[i].Bin1 ?? string.Empty, + dcnBin2: dcnTotals[i].Bin2 ?? string.Empty, + dcnBin3: dcnTotals[i].Bin3 ?? string.Empty, + dcnBin4: dcnTotals[i].Bin4 ?? string.Empty, + dcnBin5: dcnTotals[i].Bin5 ?? string.Empty, + dcnBin6: dcnTotals[i].Bin6 ?? string.Empty, + dcnBin7: dcnTotals[i].Bin7 ?? string.Empty, + dcnBin8: dcnTotals[i].Bin8 ?? string.Empty, + dwnAll: dwnTotals[i].All ?? string.Empty, + dwnLpd: dwnTotals[i].Lpd ?? string.Empty, + dwnLpdN: dwnTotals[i].LpdN ?? string.Empty, + dwnLpdES: dwnTotals[i].LpdES ?? string.Empty, + dwnMicroScr: dwnTotals[i].MicroScr ?? string.Empty, + dwnScr: dwnTotals[i].Scr ?? string.Empty, + dwnSlip: dwnTotals[i].Slip ?? string.Empty, + dwnAreaCount: dwnTotals[i].AreaNum ?? string.Empty, + dwnArea: dwnTotals[i].Area ?? string.Empty, + dwnHazeAvg: dwnTotals[i].HazeAvg ?? string.Empty, + dwnHazeMedian: dwnTotals[i].HazeMedian ?? string.Empty, + dwnHazeStdDev: dwnTotals[i].HazeStdDev ?? string.Empty, + dwnBin1: dwnTotals[i].Bin1 ?? string.Empty, + dwnBin2: dwnTotals[i].Bin2 ?? string.Empty, + dwnBin3: dwnTotals[i].Bin3 ?? string.Empty, + dwnBin4: dwnTotals[i].Bin4 ?? string.Empty, + dwnBin5: dwnTotals[i].Bin5 ?? string.Empty, + dwnBin6: dwnTotals[i].Bin6 ?? string.Empty, + dwnBin7: dwnTotals[i].Bin7 ?? string.Empty, + dwnBin8: dwnTotals[i].Bin8 ?? string.Empty, + dnnAll: dnnTotals[i].All ?? string.Empty, + dnnLpd: dnnTotals[i].Lpd ?? string.Empty, + dnnLpdN: dnnTotals[i].LpdN ?? string.Empty, + dnnLpdES: dnnTotals[i].LpdES ?? string.Empty, + dnnMicroScr: dnnTotals[i].MicroScr ?? string.Empty, + dnnScr: dnnTotals[i].Scr ?? string.Empty, + dnnSlip: dnnTotals[i].Slip ?? string.Empty, + dnnAreaCount: dnnTotals[i].AreaNum ?? string.Empty, + dnnArea: dnnTotals[i].Area ?? string.Empty, + dnnHazeAvg: dnnTotals[i].HazeAvg ?? string.Empty, + dnnHazeMedian: dnnTotals[i].HazeMedian ?? string.Empty, + dnnHazeStdDev: dnnTotals[i].HazeStdDev ?? string.Empty, + dnnBin1: dnnTotals[i].Bin1 ?? string.Empty, + dnnBin2: dnnTotals[i].Bin2 ?? string.Empty, + dnnBin3: dnnTotals[i].Bin3 ?? string.Empty, + dnnBin4: dnnTotals[i].Bin4 ?? string.Empty, + dnnBin5: dnnTotals[i].Bin5 ?? string.Empty, + dnnBin6: dnnTotals[i].Bin6 ?? string.Empty, + dnnBin7: dnnTotals[i].Bin7 ?? string.Empty, + dnnBin8: dnnTotals[i].Bin8 ?? string.Empty); + results.Add(wafer); + } + return results.AsReadOnly(); + } + +} + +[JsonSourceGenerationOptions(WriteIndented = true)] +[JsonSerializable(typeof(Wafer))] +internal partial class WaferSourceGenerationContext : JsonSerializerContext +{ +} \ No newline at end of file diff --git a/Adaptation/MET08DDUPSP1TBI.Tests.csproj b/Adaptation/MET08DDUPSP1TBI.Tests.csproj index 5934300..dba5740 100644 --- a/Adaptation/MET08DDUPSP1TBI.Tests.csproj +++ b/Adaptation/MET08DDUPSP1TBI.Tests.csproj @@ -35,7 +35,7 @@ - + NU1701 NU1701 @@ -44,41 +44,39 @@ NU1701 NU1701 NU1701 - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + NU1701 - - - + + + - - - - - - - + + NU1701 - NU1701 - NU1701 - NU1701 + + + + + diff --git a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/MET08DDUPSP1TBI.cs b/Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/MET08DDUPSP1TBI.cs similarity index 89% rename from Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/MET08DDUPSP1TBI.cs rename to Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/MET08DDUPSP1TBI.cs index 28903e8..8496156 100644 --- a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/MET08DDUPSP1TBI.cs +++ b/Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/MET08DDUPSP1TBI.cs @@ -7,7 +7,7 @@ using System.Diagnostics; using System.IO; using System.Reflection; -namespace Adaptation._Tests.CreateSelfDescription.Staging.v2_57_0; +namespace Adaptation._Tests.CreateSelfDescription.Production.v2_57_0; [TestClass] public class MET08DDUPSP1TBI : EAFLoggingUnitTesting @@ -52,7 +52,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles() + public void Production__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -65,7 +65,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewer() + public void Production__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewer() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -78,7 +78,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__IQSSi() + public void Production__v2_57_0__MET08DDUPSP1TBI__IQSSi() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -91,7 +91,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsight() + public void Production__v2_57_0__MET08DDUPSP1TBI__OpenInsight() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -104,7 +104,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewerAttachments() + public void Production__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewerAttachments() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -117,7 +117,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__APC() + public void Production__v2_57_0__MET08DDUPSP1TBI__APC() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -130,7 +130,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__SPaCe() + public void Production__v2_57_0__MET08DDUPSP1TBI__SPaCe() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -143,7 +143,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__Processed() + public void Production__v2_57_0__MET08DDUPSP1TBI__Processed() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -156,7 +156,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__Archive() + public void Production__v2_57_0__MET08DDUPSP1TBI__Archive() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -169,7 +169,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__Dummy() + public void Production__v2_57_0__MET08DDUPSP1TBI__Dummy() { string check = "637400748000000000.zip"; MethodBase methodBase = new StackFrame().GetMethod(); @@ -182,7 +182,7 @@ public class MET08DDUPSP1TBI : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__TIBCO() + public void Production__v2_57_0__MET08DDUPSP1TBI__TIBCO() { string check = "*.idc"; MethodBase methodBase = new StackFrame().GetMethod(); diff --git a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/SP101-EQPT.cs b/Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/SP101-EQPT.cs similarity index 94% rename from Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/SP101-EQPT.cs rename to Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/SP101-EQPT.cs index f278ad9..1e892e0 100644 --- a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/SP101-EQPT.cs +++ b/Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/SP101-EQPT.cs @@ -6,7 +6,7 @@ using System; using System.Diagnostics; using System.IO; using System.Reflection; -namespace Adaptation._Tests.CreateSelfDescription.Staging.v2_57_0; +namespace Adaptation._Tests.CreateSelfDescription.Production.v2_57_0; [TestClass] public class SP101_EQPT : EAFLoggingUnitTesting @@ -56,7 +56,7 @@ public class SP101_EQPT : EAFLoggingUnitTesting [Ignore] [TestMethod] - public void Staging__v2_57_0__SP101_EQPT__MoveAllFiles() + public void Production__v2_57_0__SP101_EQPT__MoveAllFiles() { string check = "*"; MethodBase methodBase = new StackFrame().GetMethod(); diff --git a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/SP101.cs b/Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/SP101.cs similarity index 94% rename from Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/SP101.cs rename to Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/SP101.cs index 2086d76..bda2e73 100644 --- a/Adaptation/_Tests/CreateSelfDescription/Staging/v2.57.0/SP101.cs +++ b/Adaptation/_Tests/CreateSelfDescription/Production/v2.57.0/SP101.cs @@ -7,7 +7,7 @@ using System.Diagnostics; using System.IO; using System.Reflection; -namespace Adaptation._Tests.CreateSelfDescription.Staging.v2_57_0; +namespace Adaptation._Tests.CreateSelfDescription.Production.v2_57_0; [TestClass] public class SP101 : EAFLoggingUnitTesting @@ -52,7 +52,7 @@ public class SP101 : EAFLoggingUnitTesting [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__SP101__txt() + public void Production__v2_57_0__SP101__txt() { string check = "*.txt"; MethodBase methodBase = new StackFrame().GetMethod(); diff --git a/Adaptation/_Tests/Extract/Staging/v2.57.0/MET08DDUPSP1TBI.cs b/Adaptation/_Tests/Extract/Production/v2.57.0/MET08DDUPSP1TBI.cs similarity index 54% rename from Adaptation/_Tests/Extract/Staging/v2.57.0/MET08DDUPSP1TBI.cs rename to Adaptation/_Tests/Extract/Production/v2.57.0/MET08DDUPSP1TBI.cs index 9d2c789..451106a 100644 --- a/Adaptation/_Tests/Extract/Staging/v2.57.0/MET08DDUPSP1TBI.cs +++ b/Adaptation/_Tests/Extract/Production/v2.57.0/MET08DDUPSP1TBI.cs @@ -6,7 +6,7 @@ using System; using System.Diagnostics; using System.Reflection; -namespace Adaptation._Tests.Extract.Staging.v2_57_0; +namespace Adaptation._Tests.Extract.Production.v2_57_0; [TestClass] public class MET08DDUPSP1TBI @@ -15,13 +15,13 @@ public class MET08DDUPSP1TBI #pragma warning disable CA2254 #pragma warning disable IDE0060 - private static CreateSelfDescription.Staging.v2_57_0.MET08DDUPSP1TBI _MET08DDUPSP1TBI; + private static CreateSelfDescription.Production.v2_57_0.MET08DDUPSP1TBI _MET08DDUPSP1TBI; [ClassInitialize] public static void ClassInitialize(TestContext testContext) { - CreateSelfDescription.Staging.v2_57_0.MET08DDUPSP1TBI.ClassInitialize(testContext); - _MET08DDUPSP1TBI = CreateSelfDescription.Staging.v2_57_0.MET08DDUPSP1TBI.EAFLoggingUnitTesting; + CreateSelfDescription.Production.v2_57_0.MET08DDUPSP1TBI.ClassInitialize(testContext); + _MET08DDUPSP1TBI = CreateSelfDescription.Production.v2_57_0.MET08DDUPSP1TBI.EAFLoggingUnitTesting; } private static void NonThrowTryCatch() @@ -35,18 +35,18 @@ public class MET08DDUPSP1TBI [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles(); + public void Production__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles637955319879801344__Normal() + public void Production__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles637955319879801344__Normal() { string check = "*.pdsf"; bool validatePDSF = false; MethodBase methodBase = new StackFrame().GetMethod(); - _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles(); + _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__MoveMatchingFiles(); string[] variables = _MET08DDUPSP1TBI.AdaptationTesting.GetVariables(methodBase, check, validatePDSF); IFileRead fileRead = _MET08DDUPSP1TBI.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false); Logistics logistics = new(fileRead); @@ -58,29 +58,29 @@ public class MET08DDUPSP1TBI [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewer() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewer(); + public void Production__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewer() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewer(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__IQSSi() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__IQSSi(); + public void Production__v2_57_0__MET08DDUPSP1TBI__IQSSi() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__IQSSi(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsight() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsight(); + public void Production__v2_57_0__MET08DDUPSP1TBI__OpenInsight() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__OpenInsight(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsight638052814829645888__IqsSql() + public void Production__v2_57_0__MET08DDUPSP1TBI__OpenInsight638052814829645888__IqsSql() { string check = "*.pdsf"; MethodBase methodBase = new StackFrame().GetMethod(); - _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsight(); + _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__OpenInsight(); string[] variables = _MET08DDUPSP1TBI.AdaptationTesting.GetVariables(methodBase, check, validatePDSF: false); IFileRead fileRead = _MET08DDUPSP1TBI.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false); Logistics logistics = new(fileRead); @@ -92,51 +92,51 @@ public class MET08DDUPSP1TBI [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewerAttachments() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewerAttachments(); + public void Production__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewerAttachments() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__OpenInsightMetrologyViewerAttachments(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__APC() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__APC(); + public void Production__v2_57_0__MET08DDUPSP1TBI__APC() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__APC(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__SPaCe() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__SPaCe(); + public void Production__v2_57_0__MET08DDUPSP1TBI__SPaCe() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__SPaCe(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__Processed() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__Processed(); + public void Production__v2_57_0__MET08DDUPSP1TBI__Processed() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__Processed(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__Archive() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__Archive(); + public void Production__v2_57_0__MET08DDUPSP1TBI__Archive() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__Archive(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__Dummy() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__Dummy(); + public void Production__v2_57_0__MET08DDUPSP1TBI__Dummy() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__Dummy(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__TIBCO() => _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__TIBCO(); + public void Production__v2_57_0__MET08DDUPSP1TBI__TIBCO() => _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__TIBCO(); [Ignore] [TestMethod] - public void Staging__v2_57_0__MET08DDUPSP1TBI__TIBCO638217888620242702__Normal() + public void Production__v2_57_0__MET08DDUPSP1TBI__TIBCO638217888620242702__Normal() { string check = "*.idc"; MethodBase methodBase = new StackFrame().GetMethod(); - _MET08DDUPSP1TBI.Staging__v2_57_0__MET08DDUPSP1TBI__TIBCO(); + _MET08DDUPSP1TBI.Production__v2_57_0__MET08DDUPSP1TBI__TIBCO(); string[] variables = _MET08DDUPSP1TBI.AdaptationTesting.GetVariables(methodBase, check, validatePDSF: false); _ = _MET08DDUPSP1TBI.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false); for (int i = 0; i < int.MaxValue; i++) diff --git a/Adaptation/_Tests/Extract/Production/v2.57.0/SP101-EQPT.cs b/Adaptation/_Tests/Extract/Production/v2.57.0/SP101-EQPT.cs new file mode 100644 index 0000000..52cd825 --- /dev/null +++ b/Adaptation/_Tests/Extract/Production/v2.57.0/SP101-EQPT.cs @@ -0,0 +1,27 @@ +#if true +using Microsoft.VisualStudio.TestTools.UnitTesting; + +namespace Adaptation._Tests.Extract.Production.v2_57_0; + +[TestClass] +public class SP101_EQPT +{ + +#pragma warning disable CA2254 +#pragma warning disable IDE0060 + + private static CreateSelfDescription.Production.v2_57_0.SP101_EQPT _SP101_EQPT; + + [ClassInitialize] + public static void ClassInitialize(TestContext testContext) + { + CreateSelfDescription.Production.v2_57_0.SP101_EQPT.ClassInitialize(testContext); + _SP101_EQPT = CreateSelfDescription.Production.v2_57_0.SP101_EQPT.EAFLoggingUnitTesting; + } + + [Ignore] + [TestMethod] + public void Production__v2_57_0__SP101_EQPT__MoveAllFiles() => _SP101_EQPT.Production__v2_57_0__SP101_EQPT__MoveAllFiles(); + +} +#endif \ No newline at end of file diff --git a/Adaptation/_Tests/Extract/Staging/v2.57.0/SP101.cs b/Adaptation/_Tests/Extract/Production/v2.57.0/SP101.cs similarity index 70% rename from Adaptation/_Tests/Extract/Staging/v2.57.0/SP101.cs rename to Adaptation/_Tests/Extract/Production/v2.57.0/SP101.cs index 29e2ea5..6b16d59 100644 --- a/Adaptation/_Tests/Extract/Staging/v2.57.0/SP101.cs +++ b/Adaptation/_Tests/Extract/Production/v2.57.0/SP101.cs @@ -6,7 +6,7 @@ using System; using System.Diagnostics; using System.Reflection; -namespace Adaptation._Tests.Extract.Staging.v2_57_0; +namespace Adaptation._Tests.Extract.Production.v2_57_0; [TestClass] public class SP101 @@ -15,13 +15,13 @@ public class SP101 #pragma warning disable CA2254 #pragma warning disable IDE0060 - private static CreateSelfDescription.Staging.v2_57_0.SP101 _SP101; + private static CreateSelfDescription.Production.v2_57_0.SP101 _SP101; [ClassInitialize] public static void ClassInitialize(TestContext testContext) { - CreateSelfDescription.Staging.v2_57_0.SP101.ClassInitialize(testContext); - _SP101 = CreateSelfDescription.Staging.v2_57_0.SP101.EAFLoggingUnitTesting; + CreateSelfDescription.Production.v2_57_0.SP101.ClassInitialize(testContext); + _SP101 = CreateSelfDescription.Production.v2_57_0.SP101.EAFLoggingUnitTesting; } private static void NonThrowTryCatch() @@ -35,17 +35,17 @@ public class SP101 [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__SP101__txt() => _SP101.Staging__v2_57_0__SP101__txt(); + public void Production__v2_57_0__SP101__txt() => _SP101.Production__v2_57_0__SP101__txt(); #if DEBUG [Ignore] #endif [TestMethod] - public void Staging__v2_57_0__SP101__txt637955319879801344__Normal() + public void Production__v2_57_0__SP101__txt637955319879801344__Normal() { string check = "*.txt"; bool validatePDSF = false; - _SP101.Staging__v2_57_0__SP101__txt(); + _SP101.Production__v2_57_0__SP101__txt(); MethodBase methodBase = new StackFrame().GetMethod(); string[] variables = _SP101.AdaptationTesting.GetVariables(methodBase, check, validatePDSF); IFileRead fileRead = _SP101.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false); diff --git a/Adaptation/_Tests/Extract/Staging/v2.57.0/SP101-EQPT.cs b/Adaptation/_Tests/Extract/Staging/v2.57.0/SP101-EQPT.cs deleted file mode 100644 index 493fdfa..0000000 --- a/Adaptation/_Tests/Extract/Staging/v2.57.0/SP101-EQPT.cs +++ /dev/null @@ -1,27 +0,0 @@ -#if true -using Microsoft.VisualStudio.TestTools.UnitTesting; - -namespace Adaptation._Tests.Extract.Staging.v2_57_0; - -[TestClass] -public class SP101_EQPT -{ - -#pragma warning disable CA2254 -#pragma warning disable IDE0060 - - private static CreateSelfDescription.Staging.v2_57_0.SP101_EQPT _SP101_EQPT; - - [ClassInitialize] - public static void ClassInitialize(TestContext testContext) - { - CreateSelfDescription.Staging.v2_57_0.SP101_EQPT.ClassInitialize(testContext); - _SP101_EQPT = CreateSelfDescription.Staging.v2_57_0.SP101_EQPT.EAFLoggingUnitTesting; - } - - [Ignore] - [TestMethod] - public void Staging__v2_57_0__SP101_EQPT__MoveAllFiles() => _SP101_EQPT.Staging__v2_57_0__SP101_EQPT__MoveAllFiles(); - -} -#endif \ No newline at end of file diff --git a/Adaptation/_Tests/Static/Job.cs b/Adaptation/_Tests/Static/Job.cs index a3fe4ac..29f6090 100644 --- a/Adaptation/_Tests/Static/Job.cs +++ b/Adaptation/_Tests/Static/Job.cs @@ -152,6 +152,7 @@ public class Job : LoggingUnitTesting, IDisposable NonThrowTryCatch(); } + [Ignore] [TestMethod] public void TestJobD() { diff --git a/MET08DDUPSP1TBI.csproj b/MET08DDUPSP1TBI.csproj index bbd647a..e7ffbdb 100644 --- a/MET08DDUPSP1TBI.csproj +++ b/MET08DDUPSP1TBI.csproj @@ -133,11 +133,17 @@ + + + + + +