CSV like PDSF ready to test

This commit is contained in:
Mike Phares 2025-01-13 12:16:09 -07:00
parent 5e1e8f2364
commit dd342eb236
36 changed files with 585 additions and 298 deletions

View File

@ -4,7 +4,7 @@
"name": ".NET Core Attach",
"type": "coreclr",
"request": "attach",
"processId": 6456
"processId": 21452
}
]
}

View File

@ -86,6 +86,18 @@
],
"problemMatcher": "$msCompile"
},
{
"label": "Project",
"type": "shell",
"command": "code ../MET08RESIMAPCDE.csproj",
"problemMatcher": []
},
{
"label": "Git Config",
"type": "shell",
"command": "code ../.git/config",
"problemMatcher": []
},
{
"label": "Kanbn Console",
"type": "npm",

View File

@ -1,135 +0,0 @@
using Adaptation.Shared;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.IO;
using System.Linq;
using System.Text.Json;
using System.Text.Json.Serialization;
namespace Adaptation.FileHandlers.RsM;
#nullable enable
internal class Complete
{
public Complete(Line1 line1, Line2 line2, Line3 line3, Line4 line4, Line4B line4B, Line5 line5, Line6 line6, Line7 line7, Line8 line8, Line9 line9, Line10 line10, Line11 line11, Line12 line12, Line13 line13, Point[] points)
{
Line1 = line1;
Line2 = line2;
Line3 = line3;
Line4 = line4;
Line4B = line4B;
Line5 = line5;
Line6 = line6;
Line7 = line7;
Line8 = line8;
Line9 = line9;
Line10 = line10;
Line11 = line11;
Line12 = line12;
Line13 = line13;
Points = points;
}
public Line1 Line1 { get; }
public Line2 Line2 { get; }
public Line3 Line3 { get; }
public Line4 Line4 { get; }
public Line4B Line4B { get; }
public Line5 Line5 { get; }
public Line6 Line6 { get; }
public Line7 Line7 { get; }
public Line8 Line8 { get; }
public Line9 Line9 { get; }
public Line10 Line10 { get; }
public Line11 Line11 { get; }
public Line12 Line12 { get; }
public Line13 Line13 { get; }
public Point[] Points { get; }
internal static ReadOnlyCollection<string> GetCollection(string[] segments)
{
List<string> results = new();
foreach (string segment in segments)
{
if (segment[0] == ',')
break;
results.Add(segment);
}
return new(results);
}
internal static Complete? Get(Logistics logistics, List<FileInfo> fileInfoCollection)
{
Complete? result;
int take = 14;
string[] lines = File.ReadAllLines(logistics.ReportFullPath);
ReadOnlyCollection<string> collection = new(lines);
if (collection.Count > take)
result = null;
else
{
if (collection.Count < take)
result = null;
else
{
string[] separator = new string[] { " ", "\t" };
// <Title>
Line1 line1 = Line1.Get(collection[0].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <FileName, Proj,Rcpe, LotID,WfrID, Is_TF_DataFile>
Line2 line2 = Line2.Get(collection[1].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Directory>
Line3 line3 = Line3.Get(collection[2].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <DateTime,Temp,TCR%,N|P>
Line4 line4 = Line4.Get(collection[3].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Avg,Dev,Min,Max>
Line4B? line4B = Line4B.Get(collection[3].Split(new string[] { ">" }, StringSplitOptions.RemoveEmptyEntries));
if (line4B is null)
result = null;
else
{
// <Operator, Epuipment>
Line5 line5 = Line5.Get(collection[4].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Engineer>
Line6 line6 = Line6.Get(collection[5].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <AreaOrDiamScan, WaferShape, dNBand, TemplateFile, xsize,ysize, CalibFactor, MsmtMode, DataType, DataUnit>
Line7 line7 = Line7.Get(collection[6].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <NumProbePoints, SingleOrDualProbeConfig, #ActPrbPts, Rsens,IdrvMx,VinGain, DataRejectSigma, MeritThreshold, PrbChg#, PrbName>
Line8 line8 = Line8.Get(collection[7].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <WaferSize,EdgeEx, x,yll, x,yur, #x,y, CutCorners>
Line9 line9 = Line9.Get(collection[8].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Diam: ThScan Start End Step>
Line10 line10 = Line10.Get(collection[9].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <FlatOrNotch FollowMajorFlat AutoOrManualLoad RangeOrIndvdual PauseAfterEveryRun, AutoPrint,Plot, BulkSmplThk & Unit>
Line11 line11 = Line11.Get(collection[10].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <RangeFrom, RangeTo>
Line12 line12 = Line12.Get(collection[11].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <CassSlotSelected>
Line13 line13 = Line13.Get(collection[12].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <R,Th,Data, Rs,RsA,RsB, #Smpl, x,y, Irng,Vrng, ChiSq,merit/GOF, DataIntegrity>
ReadOnlyCollection<Point> points = Point.Get(take, collection, separator);
if (points.Count == 0)
result = null;
else
{
result = new(line1, line2, line3, line4, line4B, line5, line6, line7, line8, line9, line10, line11, line12, line13, points.ToArray());
FileInfo fileInfo = new($"{logistics.ReportFullPath}.json");
string json = JsonSerializer.Serialize(result, CompleteSourceGenerationContext.Default.Complete);
File.WriteAllText(fileInfo.FullName, json);
File.SetLastWriteTime(fileInfo.FullName, logistics.DateTimeFromSequence);
fileInfoCollection.Add(fileInfo);
}
}
}
}
return result;
}
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Complete))]
internal partial class CompleteSourceGenerationContext : JsonSerializerContext
{
}

View File

@ -108,10 +108,10 @@ public class FileRead : Shared.FileRead, IFileRead
results.Item4.Add(_Logistics.FileInfo);
else
{
Complete? complete = Complete.Get(_Logistics, results.Item4);
if (complete is null)
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, complete);
IProcessData iProcessData = new ProcessData(this, _Logistics, results.Item4, run);
if (iProcessData is not ProcessData processData)
throw new Exception(string.Concat("B) No Data - ", dateTime.Ticks));
string mid;

View File

@ -15,7 +15,7 @@ internal record Line1
internal static Line1 Get(string[] segments)
{
Line1 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0]);
return result;
}

View File

@ -23,7 +23,7 @@ internal record Line10
internal static Line10 Get(string[] segments)
{
Line10 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -33,7 +33,7 @@ internal record Line11
internal static Line11 Get(string[] segments)
{
Line11 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -19,7 +19,7 @@ internal record Line12
internal static Line12 Get(string[] segments)
{
Line12 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1]);
return result;

View File

@ -15,7 +15,7 @@ internal record Line13
internal static Line13 Get(string[] segments)
{
Line13 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0]);
return result;
}

View File

@ -27,7 +27,7 @@ internal record Line2
internal static Line2 Get(string[] segments)
{
Line2 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -15,7 +15,7 @@ internal record Line3
internal static Line3 Get(string[] segments)
{
Line3 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0]);
return result;
}

View File

@ -25,7 +25,7 @@ internal record Line4
internal static Line4 Get(string[] segments)
{
Line4 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -19,7 +19,7 @@ internal record Line5
internal static Line5 Get(string[] segments)
{
Line5 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1]);
return result;

View File

@ -15,7 +15,7 @@ internal record Line6
internal static Line6 Get(string[] segments)
{
Line6 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0]);
return result;
}

View File

@ -35,7 +35,7 @@ internal record Line7
internal static Line7 Get(string[] segments)
{
Line7 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -35,7 +35,7 @@ internal record Line8
internal static Line8 Get(string[] segments)
{
Line8 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -33,7 +33,7 @@ internal class Line9
internal static Line9 Get(string[] segments)
{
Line9 result;
ReadOnlyCollection<string> collection = Complete.GetCollection(segments);
ReadOnlyCollection<string> collection = Run.GetCollection(segments);
result = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -53,7 +53,7 @@ internal record Point
if (string.IsNullOrEmpty(lines[i]))
break;
segments = lines[i].Split(separator, StringSplitOptions.RemoveEmptyEntries);
collection = Complete.GetCollection(segments);
collection = Run.GetCollection(segments);
point = new(collection.Count < 1 ? string.Empty : collection[0],
collection.Count < 2 ? string.Empty : collection[1],
collection.Count < 3 ? string.Empty : collection[2],

View File

@ -53,13 +53,13 @@ public class ProcessData : IProcessData
private readonly ILog _Log;
List<object> Shared.Properties.IProcessData.Details => _Details;
internal ProcessData(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, Complete complete)
internal ProcessData(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, Run run)
{
JobID = logistics.JobID;
_Details = new List<object>();
MesEntity = logistics.MesEntity;
_Log = LogManager.GetLogger(typeof(ProcessData));
Parse(fileRead, logistics, fileInfoCollection, complete);
Parse(fileRead, logistics, fileInfoCollection, run);
}
string IProcessData.GetCurrentReactor(IFileRead fileRead, Logistics logistics, Dictionary<string, string> reactors) => throw new Exception(string.Concat("See ", nameof(Parse)));
@ -215,10 +215,10 @@ public class ProcessData : IProcessData
return result;
}
private void SetTitleData(Logistics logistics, Complete complete)
private void SetTitleData(Logistics logistics, Run run)
{
string timeFormat = "yyyyMMddHHmmss";
Descriptor descriptor = GetDescriptor(complete.Line1.Title);
Descriptor descriptor = GetDescriptor(run.Line1.Title);
PSN = descriptor.PSN;
RDS = descriptor.RDS;
Run = descriptor.Run;
@ -321,7 +321,7 @@ public class ProcessData : IProcessData
#nullable enable
private void Parse(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, Complete complete)
private void Parse(IFileRead fileRead, Logistics logistics, List<FileInfo> fileInfoCollection, Run run)
{
if (fileRead is null)
throw new ArgumentNullException(nameof(fileRead));
@ -334,7 +334,7 @@ public class ProcessData : IProcessData
{
segments = lines[i].Split(separator, StringSplitOptions.RemoveEmptyEntries);
if (lines[i].Contains("<Title>") && segments.Length > 0)
SetTitleData(logistics, complete);
SetTitleData(logistics, run);
else if (lines[i].Contains("<FileName, Proj,Rcpe, LotID,WfrID"))
SetFileNameData(segments);
else if (lines[i].Contains("<DateTime,Temp,TCR%,N|P>"))

View File

@ -0,0 +1,207 @@
using System.Text.Json.Serialization;
namespace Adaptation.FileHandlers.RsM;
#nullable enable
internal class Row
{
public Row(Run run, int i)
{
Title = run.Line1.Title;
//
FileName = run.Line2.FileName;
Project = run.Line2.Project;
RecipeName = run.Line2.RecipeName;
LotID = run.Line2.LotID;
WfrID = run.Line2.WfrID;
Is_TF_DataFile = run.Line2.Is_TF_DataFile;
//
Directory = run.Line3.Directory;
//
Time = run.Line4.Time;
Date = run.Line4.Date;
Temp = run.Line4.Temp;
TCRPercent = run.Line4.TCRPercent;
NOrP = run.Line4.NOrP;
//
Avg = run.Line4B.Avg;
Dev = run.Line4B.Dev;
Min = run.Line4B.Min;
Max = run.Line4B.Max;
//
Operator = run.Line5.Operator;
Equipment = run.Line5.Equipment;
//
Engineer = run.Line6.Engineer;
//
AreaOrDiamScan = run.Line7.AreaOrDiamScan;
WaferShape = run.Line7.WaferShape;
BNBand = run.Line7.BNBand;
TemplateFile = run.Line7.TemplateFile;
XSize = run.Line7.XSize;
YSize = run.Line7.YSize;
CalibrationFactor = run.Line7.CalibrationFactor;
MsmtMode = run.Line7.MsmtMode;
DataType = run.Line7.DataType;
DataUnit = run.Line7.DataUnit;
//
NumProbePoints = run.Line8.NumProbePoints;
SingleOrDualProbeConfig = run.Line8.SingleOrDualProbeConfig;
NumberActPrbPts = run.Line8.NumberActPrbPts;
Rsens = run.Line8.Rsens;
IdrvMx = run.Line8.IdrvMx;
VinGain = run.Line8.VinGain;
DataRejectSigma = run.Line8.DataRejectSigma;
MeritThreshold = run.Line8.MeritThreshold;
PrbChgNumber = run.Line8.PrbChgNumber;
PrbName = run.Line8.PrbName;
//
WaferSize = run.Line9.WaferSize;
EdgeEx = run.Line9.EdgeEx;
Xll = run.Line9.Xll;
Yll = run.Line9.Yll;
Xur = run.Line9.Xur;
Yur = run.Line9.Yur;
X = run.Line9.X;
Y = run.Line9.Y;
CutCorners = run.Line9.CutCorners;
//
DiamThScan = run.Line10.DiamThScan;
DiamStart = run.Line10.DiamStart;
DiamEnd = run.Line10.DiamEnd;
DiamStep = run.Line10.DiamStep;
//
FlatOrNotch = run.Line11.FlatOrNotch;
FollowMajorFlat = run.Line11.FollowMajorFlat;
AutoOrManualLoad = run.Line11.AutoOrManualLoad;
RangeOrIndividual = run.Line11.RangeOrIndividual;
PauseAfterEveryRun = run.Line11.PauseAfterEveryRun;
AutoPrint = run.Line11.AutoPrint;
Plot = run.Line11.Plot;
BulkSampleThk = run.Line11.BulkSampleThk;
Unit = run.Line11.Unit;
//
RangeFrom = run.Line12.RangeFrom;
RangeTo = run.Line12.RangeTo;
//
CassetteSlotSelected = run.Line13.CassetteSlotSelected;
//
R = run.Points[i].R;
Th = run.Points[i].Th;
Data = run.Points[i].Data;
Rs = run.Points[i].Rs;
RsA = run.Points[i].RsA;
RsB = run.Points[i].RsB;
NumberSample = run.Points[i].NumberSample;
PointX = run.Points[i].X;
PointY = run.Points[i].Y;
Irng = run.Points[i].Irng;
Vrng = run.Points[i].Vrng;
ChiSq = run.Points[i].ChiSq;
MeritGOF = run.Points[i].MeritGOF;
DataIntegrity = run.Points[i].DataIntegrity;
}
public string Title { get; }
//
public string FileName { get; }
public string Project { get; }
public string RecipeName { get; }
public string LotID { get; }
public string WfrID { get; }
public string Is_TF_DataFile { get; }
//
public string Directory { get; }
//
public string Time { get; }
public string Date { get; }
public string Temp { get; }
public string TCRPercent { get; }
public string NOrP { get; }
//
public string Avg { get; }
public string Dev { get; }
public string Min { get; }
public string Max { get; }
//
public string Operator { get; }
public string Equipment { get; }
//
public string Engineer { get; }
//
public string AreaOrDiamScan { get; }
public string WaferShape { get; }
public string BNBand { get; }
public string TemplateFile { get; }
public string XSize { get; }
public string YSize { get; }
public string CalibrationFactor { get; }
public string MsmtMode { get; }
public string DataType { get; }
public string DataUnit { get; }
//
public string NumProbePoints { get; }
public string SingleOrDualProbeConfig { get; }
public string NumberActPrbPts { get; }
public string Rsens { get; }
public string IdrvMx { get; }
public string VinGain { get; }
public string DataRejectSigma { get; }
public string MeritThreshold { get; }
public string PrbChgNumber { get; }
public string PrbName { get; }
//
public string WaferSize { get; }
public string EdgeEx { get; }
public string Xll { get; }
public string Yll { get; }
public string Xur { get; }
public string Yur { get; }
public string X { get; }
public string Y { get; }
public string CutCorners { get; }
//
public string DiamThScan { get; }
public string DiamStart { get; }
public string DiamEnd { get; }
public string DiamStep { get; }
//
public string FlatOrNotch { get; }
public string FollowMajorFlat { get; }
public string AutoOrManualLoad { get; }
public string RangeOrIndividual { get; }
public string PauseAfterEveryRun { get; }
public string AutoPrint { get; }
public string Plot { get; }
public string BulkSampleThk { get; }
public string Unit { get; }
//
public string RangeFrom { get; }
public string RangeTo { get; }
//
public string CassetteSlotSelected { get; }
//
public string R { get; }
public string Th { get; }
public string Data { get; }
public string Rs { get; }
public string RsA { get; }
public string RsB { get; }
public string NumberSample { get; }
public string PointX { get; }
public string PointY { get; }
public string Irng { get; }
public string Vrng { get; }
public string ChiSq { get; }
public string MeritGOF { get; }
public string DataIntegrity { get; }
}
[JsonSourceGenerationOptions(WriteIndented = true)]
[JsonSerializable(typeof(Row))]
internal partial class RowSourceGenerationContext : JsonSerializerContext
{
}

View File

@ -0,0 +1,205 @@
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.RsM;
#nullable enable
internal class Run
{
public Run(Line1 line1, Line2 line2, Line3 line3, Line4 line4, Line4B line4B, Line5 line5, Line6 line6, Line7 line7, Line8 line8, Line9 line9, Line10 line10, Line11 line11, Line12 line12, Line13 line13, ReadOnlyCollection<Point> points)
{
Line1 = line1;
Line2 = line2;
Line3 = line3;
Line4 = line4;
Line4B = line4B;
Line5 = line5;
Line6 = line6;
Line7 = line7;
Line8 = line8;
Line9 = line9;
Line10 = line10;
Line11 = line11;
Line12 = line12;
Line13 = line13;
Points = points;
}
public Line1 Line1 { get; }
public Line2 Line2 { get; }
public Line3 Line3 { get; }
public Line4 Line4 { get; }
public Line4B Line4B { get; }
public Line5 Line5 { get; }
public Line6 Line6 { get; }
public Line7 Line7 { get; }
public Line8 Line8 { get; }
public Line9 Line9 { get; }
public Line10 Line10 { get; }
public Line11 Line11 { get; }
public Line12 Line12 { get; }
public Line13 Line13 { get; }
public ReadOnlyCollection<Point> Points { get; }
internal static ReadOnlyCollection<string> GetCollection(string[] segments)
{
List<string> results = new();
foreach (string segment in segments)
{
if (segment[0] == ',')
break;
results.Add(segment);
}
return new(results);
}
private static void WriteJson(Logistics logistics, List<FileInfo> 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<string> GetLines(JsonElement[]? jsonElements)
{
List<string> 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<string> GetLines(JsonElement jsonElement) =>
GetLines(new JsonElement[] { jsonElement });
private static void WriteTabSeparatedValues(Logistics logistics, List<FileInfo> fileInfoCollection, Run run)
{
List<Row> results = new();
Row row;
FileInfo fileInfo = new($"{logistics.ReportFullPath}.tsv");
for (int i = 0; i < run.Points.Count; i++)
{
row = new(run, i);
results.Add(row);
}
string json = JsonSerializer.Serialize(results);
JsonElement[]? jsonElements = JsonSerializer.Deserialize<JsonElement[]>(json);
ReadOnlyCollection<string> 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<FileInfo> fileInfoCollection)
{
Run? result;
int take = 14;
string[] lines = File.ReadAllLines(logistics.ReportFullPath);
ReadOnlyCollection<string> collection = new(lines);
if (collection.Count < take)
result = null;
else
{
string[] separator = new string[] { " ", "\t" };
// <Title>
Line1 line1 = Line1.Get(collection[0].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <FileName, Proj,Rcpe, LotID,WfrID, Is_TF_DataFile>
Line2 line2 = Line2.Get(collection[1].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Directory>
Line3 line3 = Line3.Get(collection[2].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <DateTime,Temp,TCR%,N|P>
Line4 line4 = Line4.Get(collection[3].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Avg,Dev,Min,Max>
Line4B? line4B = Line4B.Get(collection[3].Split(new string[] { ">" }, StringSplitOptions.RemoveEmptyEntries));
if (line4B is null)
result = null;
else
{
// <Operator, Epuipment>
Line5 line5 = Line5.Get(collection[4].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Engineer>
Line6 line6 = Line6.Get(collection[5].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <AreaOrDiamScan, WaferShape, dNBand, TemplateFile, xsize,ysize, CalibFactor, MsmtMode, DataType, DataUnit>
Line7 line7 = Line7.Get(collection[6].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <NumProbePoints, SingleOrDualProbeConfig, #ActPrbPts, Rsens,IdrvMx,VinGain, DataRejectSigma, MeritThreshold, PrbChg#, PrbName>
Line8 line8 = Line8.Get(collection[7].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <WaferSize,EdgeEx, x,yll, x,yur, #x,y, CutCorners>
Line9 line9 = Line9.Get(collection[8].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <Diam: ThScan Start End Step>
Line10 line10 = Line10.Get(collection[9].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <FlatOrNotch FollowMajorFlat AutoOrManualLoad RangeOrIndvdual PauseAfterEveryRun, AutoPrint,Plot, BulkSmplThk & Unit>
Line11 line11 = Line11.Get(collection[10].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <RangeFrom, RangeTo>
Line12 line12 = Line12.Get(collection[11].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <CassSlotSelected>
Line13 line13 = Line13.Get(collection[12].Split(separator, StringSplitOptions.RemoveEmptyEntries));
// <R,Th,Data, Rs,RsA,RsB, #Smpl, x,y, Irng,Vrng, ChiSq,merit/GOF, DataIntegrity>
ReadOnlyCollection<Point> points = Point.Get(take, collection, separator);
if (points.Count == 0)
result = null;
else
{
result = new(line1, line2, line3, line4, line4B, line5, line6, line7, line8, line9, line10, line11, line12, line13, points);
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
{
}

View File

@ -35,7 +35,7 @@
<RuntimeHostConfigurationOption Include="AssemblyName" Value="MET08RESIMAPCDE" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="coverlet.collector" Version="6.0.2" />
<PackageReference Include="coverlet.collector" Version="6.0.3" />
<PackageReference Include="FFMpegCore" Version="5.1.0" />
<PackageReference Include="IKVM.AWT.WinForms" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="IKVM.OpenJDK.Core" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
@ -44,41 +44,39 @@
<PackageReference Include="IKVM.OpenJDK.Util" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="IKVM.OpenJDK.XML.API" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="IKVM.Runtime" Version="7.2.4630.5"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="Instances" Version="3.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="8.0.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration.json" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="8.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="8.0.1" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="8.0.1" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
<PackageReference Include="Microsoft.Win32.SystemEvents" Version="8.0.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.6.1" />
<PackageReference Include="MSTest.TestFramework" Version="3.6.1" />
<PackageReference Include="Instances" Version="3.0.1" />
<PackageReference Include="log4net" Version="3.0.3"></PackageReference>
<PackageReference Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.CommandLine" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.EnvironmentVariables" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.FileExtensions" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration.json" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Configuration" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Console" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging.Debug" Version="9.0.0" />
<PackageReference Include="Microsoft.Extensions.Logging" Version="9.0.0" />
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.12.0" />
<PackageReference Include="Microsoft.Win32.SystemEvents" Version="9.0.0" />
<PackageReference Include="MSTest.TestAdapter" Version="3.7.0" />
<PackageReference Include="MSTest.TestFramework" Version="3.7.0" />
<PackageReference Include="Pdfbox" Version="1.1.1"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="RoboSharp" Version="1.5.3" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="8.0.1" />
<PackageReference Include="System.Data.OleDb" Version="8.0.1" />
<PackageReference Include="RoboSharp" Version="1.6.0" />
<PackageReference Include="System.Configuration.ConfigurationManager" Version="9.0.0" />
<PackageReference Include="System.Data.OleDb" Version="9.0.0" />
<PackageReference Include="System.Data.SqlClient" Version="4.8.6" />
<PackageReference Include="System.Drawing.Common" Version="8.0.10" />
<PackageReference Include="System.Text.Json" Version="8.0.5" />
<PackageReference Include="Tesseract" Version="5.2.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Tibco.Rendezvous.DotNetCore" Version="8.5.0" />
<PackageReference Include="Infineon.Yoda.DotNetCore" Version="5.4.1" />
<PackageReference Include="System.Drawing.Common" Version="9.0.0" />
<PackageReference Include="System.Text.Json" Version="9.0.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Infineon.Mesa.PDF.Text.Stripper" Version="4.8.0.1"><NoWarn>NU1701</NoWarn></PackageReference>
</ItemGroup>
<ItemGroup>
<PackageReference Include="External.Common.Logging.Core" Version="3.3.1"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="External.Common.Logging" Version="3.3.1"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="External.log4net" Version="2.0.8"><NoWarn>NU1701</NoWarn></PackageReference>
<PackageReference Include="Infineon.Yoda.DotNetCore" Version="5.4.3" />
<PackageReference Include="Tibco.Rendezvous.DotNetCore" Version="8.5.0" />
</ItemGroup>
<ItemGroup>
<PackageReference Include="Tesseract" Version="5.2.0" />
</ItemGroup>
<ItemGroup>
<None Include="appsettings.json">

View File

@ -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 CDE4 : EAFLoggingUnitTesting
@ -52,7 +52,7 @@ public class CDE4 : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE4__RsM()
public void Production__v2_57_0__CDE4__RsM()
{
string check = "*.RsM";
MethodBase methodBase = new StackFrame().GetMethod();

View File

@ -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 CDE5_EQPT : EAFLoggingUnitTesting
@ -52,7 +52,7 @@ public class CDE5_EQPT : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE5_EQPT__DownloadRsMFile()
public void Production__v2_57_0__CDE5_EQPT__DownloadRsMFile()
{
string check = "CDE_Logs|WaferMeasurementData.log|.RsM";
MethodBase methodBase = new StackFrame().GetMethod();

View File

@ -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 CDE5 : EAFLoggingUnitTesting
@ -52,7 +52,7 @@ public class CDE5 : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE5__RsM()
public void Production__v2_57_0__CDE5__RsM()
{
string check = "*.RsM";
MethodBase methodBase = new StackFrame().GetMethod();

View File

@ -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 CDE6_EQPT : EAFLoggingUnitTesting
@ -52,7 +52,7 @@ public class CDE6_EQPT : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE6_EQPT__DownloadRsMFile()
public void Production__v2_57_0__CDE6_EQPT__DownloadRsMFile()
{
string check = "CDE_Logs|WaferMeasurementData.log|.RsM";
MethodBase methodBase = new StackFrame().GetMethod();

View File

@ -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 CDE6 : EAFLoggingUnitTesting
@ -52,7 +52,7 @@ public class CDE6 : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE6__RsM()
public void Production__v2_57_0__CDE6__RsM()
{
string check = "*.RsM";
MethodBase methodBase = new StackFrame().GetMethod();

View File

@ -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 MET08RESIMAPCDE : EAFLoggingUnitTesting
@ -52,7 +52,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles()
public void Production__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -65,7 +65,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer()
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -78,7 +78,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__IQSSi()
public void Production__v2_57_0__MET08RESIMAPCDE__IQSSi()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -91,7 +91,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight()
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsight()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -104,7 +104,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewerAttachments()
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewerAttachments()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -117,7 +117,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__APC()
public void Production__v2_57_0__MET08RESIMAPCDE__APC()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -130,7 +130,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__SPaCe()
public void Production__v2_57_0__MET08RESIMAPCDE__SPaCe()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -143,7 +143,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__Processed()
public void Production__v2_57_0__MET08RESIMAPCDE__Processed()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -156,7 +156,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__Archive()
public void Production__v2_57_0__MET08RESIMAPCDE__Archive()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
@ -169,7 +169,7 @@ public class MET08RESIMAPCDE : EAFLoggingUnitTesting
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__Dummy()
public void Production__v2_57_0__MET08RESIMAPCDE__Dummy()
{
string check = "637400762024374000.zip";
MethodBase methodBase = new StackFrame().GetMethod();

View File

@ -1,4 +1,4 @@
#if v2_57_0
#if true
using Adaptation.Shared;
using Adaptation.Shared.Methods;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@ -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 CDE4
@ -15,35 +15,34 @@ public class CDE4
#pragma warning disable CA2254
#pragma warning disable IDE0060
private static CreateSelfDescription.Staging.v2_57_0.CDE4 _CDE4;
private static CreateSelfDescription.Production.v2_57_0.CDE4 _CDE4;
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
CreateSelfDescription.Staging.v2_57_0.CDE4.ClassInitialize(testContext);
_CDE4 = CreateSelfDescription.Staging.v2_57_0.CDE4.EAFLoggingUnitTesting;
CreateSelfDescription.Production.v2_57_0.CDE4.ClassInitialize(testContext);
_CDE4 = CreateSelfDescription.Production.v2_57_0.CDE4.EAFLoggingUnitTesting;
}
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE4__RsM() => _CDE4.Staging__v2_57_0__CDE4__RsM();
public void Production__v2_57_0__CDE4__RsM() => _CDE4.Production__v2_57_0__CDE4__RsM();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE4__RsM637919422210000000__Normal()
public void Production__v2_57_0__CDE4__RsM637919422210000000__Normal()
{
DateTime dateTime;
string check = "*.RsM";
_CDE4.Staging__v2_57_0__CDE4__RsM();
_CDE4.Production__v2_57_0__CDE4__RsM();
MethodBase methodBase = new StackFrame().GetMethod();
string[] variables = _CDE4.AdaptationTesting.GetVariables(methodBase, check, validatePDSF: false);
IFileRead fileRead = _CDE4.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false);
Logistics logistics = new(fileRead);
_ = Shared.AdaptationTesting.ReExtractCompareUpdatePassDirectory(variables, fileRead, logistics, validatePDSF: false);
dateTime = FileHandlers.RsM.ProcessData.GetDateTime(logistics, string.Empty);
Assert.IsTrue(dateTime == logistics.DateTimeFromSequence);

View File

@ -0,0 +1,29 @@
#if true
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Adaptation._Tests.Extract.Production.v2_57_0;
[TestClass]
public class CDE5_EQPT
{
#pragma warning disable CA2254
#pragma warning disable IDE0060
private static CreateSelfDescription.Production.v2_57_0.CDE5_EQPT _CDE5_EQPT;
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
CreateSelfDescription.Production.v2_57_0.CDE5_EQPT.ClassInitialize(testContext);
_CDE5_EQPT = CreateSelfDescription.Production.v2_57_0.CDE5_EQPT.EAFLoggingUnitTesting;
}
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Production__v2_57_0__CDE5_EQPT__DownloadRsMFile() => _CDE5_EQPT.Production__v2_57_0__CDE5_EQPT__DownloadRsMFile();
}
#endif

View File

@ -1,4 +1,4 @@
#if v2_57_0
#if true
using Adaptation.Shared;
using Adaptation.Shared.Methods;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@ -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 CDE5
@ -15,13 +15,13 @@ public class CDE5
#pragma warning disable CA2254
#pragma warning disable IDE0060
private static CreateSelfDescription.Staging.v2_57_0.CDE5 _CDE5;
private static CreateSelfDescription.Production.v2_57_0.CDE5 _CDE5;
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
CreateSelfDescription.Staging.v2_57_0.CDE5.ClassInitialize(testContext);
_CDE5 = CreateSelfDescription.Staging.v2_57_0.CDE5.EAFLoggingUnitTesting;
CreateSelfDescription.Production.v2_57_0.CDE5.ClassInitialize(testContext);
_CDE5 = CreateSelfDescription.Production.v2_57_0.CDE5.EAFLoggingUnitTesting;
}
private static void NonThrowTryCatch()
@ -35,18 +35,18 @@ public class CDE5
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE5__RsM() => _CDE5.Staging__v2_57_0__CDE5__RsM();
public void Production__v2_57_0__CDE5__RsM() => _CDE5.Production__v2_57_0__CDE5__RsM();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE5__RsM637952212190000000__Normal()
public void Production__v2_57_0__CDE5__RsM637952212190000000__Normal()
{
DateTime dateTime;
string check = "*.RsM";
bool validatePDSF = false;
_CDE5.Staging__v2_57_0__CDE5__RsM();
_CDE5.Production__v2_57_0__CDE5__RsM();
MethodBase methodBase = new StackFrame().GetMethod();
Assert.IsFalse(string.IsNullOrEmpty(_CDE5.AdaptationTesting.TestContext.FullyQualifiedTestClassName));
string[] variables = _CDE5.AdaptationTesting.GetVariables(methodBase, check, validatePDSF);
@ -64,11 +64,11 @@ public class CDE5
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE5__RsM638181148290431160__WMO()
public void Production__v2_57_0__CDE5__RsM638181148290431160__WMO()
{
string check = "*.RsM";
bool validatePDSF = false;
_CDE5.Staging__v2_57_0__CDE5__RsM();
_CDE5.Production__v2_57_0__CDE5__RsM();
MethodBase methodBase = new StackFrame().GetMethod();
Assert.IsFalse(string.IsNullOrEmpty(_CDE5.AdaptationTesting.TestContext.FullyQualifiedTestClassName));
string[] variables = _CDE5.AdaptationTesting.GetVariables(methodBase, check, validatePDSF);

View File

@ -1,10 +1,10 @@
#if v2_57_0
#if true
using Microsoft.VisualStudio.TestTools.UnitTesting;
using System.Diagnostics;
using System.Reflection;
using System.Threading;
namespace Adaptation._Tests.Extract.Staging.v2_57_0;
namespace Adaptation._Tests.Extract.Production.v2_57_0;
[TestClass]
public class CDE6_EQPT
@ -13,29 +13,29 @@ public class CDE6_EQPT
#pragma warning disable CA2254
#pragma warning disable IDE0060
private static CreateSelfDescription.Staging.v2_57_0.CDE6_EQPT _CDE6_EQPT;
private static CreateSelfDescription.Production.v2_57_0.CDE6_EQPT _CDE6_EQPT;
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
CreateSelfDescription.Staging.v2_57_0.CDE6_EQPT.ClassInitialize(testContext);
_CDE6_EQPT = CreateSelfDescription.Staging.v2_57_0.CDE6_EQPT.EAFLoggingUnitTesting;
CreateSelfDescription.Production.v2_57_0.CDE6_EQPT.ClassInitialize(testContext);
_CDE6_EQPT = CreateSelfDescription.Production.v2_57_0.CDE6_EQPT.EAFLoggingUnitTesting;
}
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE6_EQPT__DownloadRsMFile() => _CDE6_EQPT.Staging__v2_57_0__CDE6_EQPT__DownloadRsMFile();
public void Production__v2_57_0__CDE6_EQPT__DownloadRsMFile() => _CDE6_EQPT.Production__v2_57_0__CDE6_EQPT__DownloadRsMFile();
[Ignore]
[TestMethod]
public void Staging__v2_57_0__CDE6_EQPT__DownloadRsMFile638065099250000000__Normal()
public void Production__v2_57_0__CDE6_EQPT__DownloadRsMFile638065099250000000__Normal()
{
bool validatePDSF = false;
string check = "CDE_Logs|WaferMeasurementData.log|.RsM";
MethodBase methodBase = new StackFrame().GetMethod();
_CDE6_EQPT.Staging__v2_57_0__CDE6_EQPT__DownloadRsMFile();
_CDE6_EQPT.Production__v2_57_0__CDE6_EQPT__DownloadRsMFile();
_ = _CDE6_EQPT.AdaptationTesting.GetVariables(methodBase, check, validatePDSF);
for (int i = 0; i < int.MaxValue; i++)
Thread.Sleep(500);

View File

@ -1,4 +1,4 @@
#if v2_57_0
#if true
using Adaptation.Shared;
using Adaptation.Shared.Methods;
using Microsoft.VisualStudio.TestTools.UnitTesting;
@ -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 CDE6
@ -15,31 +15,31 @@ public class CDE6
#pragma warning disable CA2254
#pragma warning disable IDE0060
private static CreateSelfDescription.Staging.v2_57_0.CDE6 _CDE6;
private static CreateSelfDescription.Production.v2_57_0.CDE6 _CDE6;
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
CreateSelfDescription.Staging.v2_57_0.CDE6.ClassInitialize(testContext);
_CDE6 = CreateSelfDescription.Staging.v2_57_0.CDE6.EAFLoggingUnitTesting;
CreateSelfDescription.Production.v2_57_0.CDE6.ClassInitialize(testContext);
_CDE6 = CreateSelfDescription.Production.v2_57_0.CDE6.EAFLoggingUnitTesting;
}
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE6__RsM() => _CDE6.Staging__v2_57_0__CDE6__RsM();
public void Production__v2_57_0__CDE6__RsM() => _CDE6.Production__v2_57_0__CDE6__RsM();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE6__RsM638065099250000000__Normal()
public void Production__v2_57_0__CDE6__RsM638065099250000000__Normal()
{
DateTime dateTime;
string check = "*.RsM";
bool validatePDSF = false;
_CDE6.Staging__v2_57_0__CDE6__RsM();
_CDE6.Production__v2_57_0__CDE6__RsM();
MethodBase methodBase = new StackFrame().GetMethod();
Assert.IsFalse(string.IsNullOrEmpty(_CDE6.AdaptationTesting.TestContext.FullyQualifiedTestClassName));
string[] variables = _CDE6.AdaptationTesting.GetVariables(methodBase, check, validatePDSF);

View File

@ -7,7 +7,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 MET08RESIMAPCDE
@ -16,13 +16,13 @@ public class MET08RESIMAPCDE
#pragma warning disable CA2254
#pragma warning disable IDE0060
private static CreateSelfDescription.Staging.v2_57_0.MET08RESIMAPCDE _MET08RESIMAPCDE;
private static CreateSelfDescription.Production.v2_57_0.MET08RESIMAPCDE _MET08RESIMAPCDE;
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
CreateSelfDescription.Staging.v2_57_0.MET08RESIMAPCDE.ClassInitialize(testContext);
_MET08RESIMAPCDE = CreateSelfDescription.Staging.v2_57_0.MET08RESIMAPCDE.EAFLoggingUnitTesting;
CreateSelfDescription.Production.v2_57_0.MET08RESIMAPCDE.ClassInitialize(testContext);
_MET08RESIMAPCDE = CreateSelfDescription.Production.v2_57_0.MET08RESIMAPCDE.EAFLoggingUnitTesting;
}
private static void NonThrowTryCatch()
@ -36,18 +36,18 @@ public class MET08RESIMAPCDE
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles();
public void Production__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles637953064190000000__Normal()
public void Production__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles637953064190000000__Normal()
{
DateTime dateTime;
string check = "*";
bool validatePDSF = false;
_MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles();
_MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__MoveMatchingFiles();
MethodBase methodBase = new StackFrame().GetMethod();
Assert.IsFalse(string.IsNullOrEmpty(_MET08RESIMAPCDE.AdaptationTesting.TestContext.FullyQualifiedTestClassName));
string[] variables = _MET08RESIMAPCDE.AdaptationTesting.GetVariables(methodBase, check, validatePDSF);
@ -64,17 +64,17 @@ public class MET08RESIMAPCDE
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer();
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer638127615724700306__NewColumn()
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer638127615724700306__NewColumn()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
_MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer();
_MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewer();
string[] variables = _MET08RESIMAPCDE.AdaptationTesting.GetVariables(methodBase, check, validatePDSF: false);
IFileRead fileRead = _MET08RESIMAPCDE.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false);
Logistics logistics = new(fileRead);
@ -85,23 +85,23 @@ public class MET08RESIMAPCDE
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__IQSSi() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__IQSSi();
public void Production__v2_57_0__MET08RESIMAPCDE__IQSSi() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__IQSSi();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight();
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsight() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__OpenInsight();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight638054501710000000__IqsSql()
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsight638054501710000000__IqsSql()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
_MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight();
_MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__OpenInsight();
string[] variables = _MET08RESIMAPCDE.AdaptationTesting.GetVariables(methodBase, check, validatePDSF: false);
IFileRead fileRead = _MET08RESIMAPCDE.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false);
Logistics logistics = new(fileRead);
@ -112,11 +112,11 @@ public class MET08RESIMAPCDE
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight638116271690000000__IqsSql()
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsight638116271690000000__IqsSql()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
_MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight();
_MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__OpenInsight();
string[] variables = _MET08RESIMAPCDE.AdaptationTesting.GetVariables(methodBase, check, validatePDSF: false);
IFileRead fileRead = _MET08RESIMAPCDE.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false);
Logistics logistics = new(fileRead);
@ -127,11 +127,11 @@ public class MET08RESIMAPCDE
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight638159693274771954__IqsSqlButSplit()
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsight638159693274771954__IqsSqlButSplit()
{
string check = "*.pdsf";
MethodBase methodBase = new StackFrame().GetMethod();
_MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__OpenInsight();
_MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__OpenInsight();
string[] variables = _MET08RESIMAPCDE.AdaptationTesting.GetVariables(methodBase, check, validatePDSF: false);
IFileRead fileRead = _MET08RESIMAPCDE.AdaptationTesting.Get(methodBase, sourceFileLocation: variables[2], sourceFileFilter: variables[3], useCyclicalForDescription: false);
Logistics logistics = new(fileRead);
@ -143,37 +143,37 @@ public class MET08RESIMAPCDE
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewerAttachments() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewerAttachments();
public void Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewerAttachments() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__OpenInsightMetrologyViewerAttachments();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__APC() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__APC();
public void Production__v2_57_0__MET08RESIMAPCDE__APC() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__APC();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__SPaCe() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__SPaCe();
public void Production__v2_57_0__MET08RESIMAPCDE__SPaCe() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__SPaCe();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__Processed() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__Processed();
public void Production__v2_57_0__MET08RESIMAPCDE__Processed() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__Processed();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__Archive() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__Archive();
public void Production__v2_57_0__MET08RESIMAPCDE__Archive() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__Archive();
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__MET08RESIMAPCDE__Dummy() => _MET08RESIMAPCDE.Staging__v2_57_0__MET08RESIMAPCDE__Dummy();
public void Production__v2_57_0__MET08RESIMAPCDE__Dummy() => _MET08RESIMAPCDE.Production__v2_57_0__MET08RESIMAPCDE__Dummy();
}
#endif

View File

@ -1,29 +0,0 @@
#if v2_57_0
using Microsoft.VisualStudio.TestTools.UnitTesting;
namespace Adaptation._Tests.Extract.Staging.v2_57_0;
[TestClass]
public class CDE5_EQPT
{
#pragma warning disable CA2254
#pragma warning disable IDE0060
private static CreateSelfDescription.Staging.v2_57_0.CDE5_EQPT _CDE5_EQPT;
[ClassInitialize]
public static void ClassInitialize(TestContext testContext)
{
CreateSelfDescription.Staging.v2_57_0.CDE5_EQPT.ClassInitialize(testContext);
_CDE5_EQPT = CreateSelfDescription.Staging.v2_57_0.CDE5_EQPT.EAFLoggingUnitTesting;
}
#if DEBUG
[Ignore]
#endif
[TestMethod]
public void Staging__v2_57_0__CDE5_EQPT__DownloadRsMFile() => _CDE5_EQPT.Staging__v2_57_0__CDE5_EQPT__DownloadRsMFile();
}
#endif

View File

@ -118,7 +118,6 @@
<Compile Include="Adaptation\FileHandlers\OpenInsightMetrologyViewer\WSRequest.cs" />
<Compile Include="Adaptation\FileHandlers\OpenInsightMetrologyViewerAttachments\FileRead.cs" />
<Compile Include="Adaptation\FileHandlers\Processed\FileRead.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\Complete.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\Description.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\Descriptor.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\Detail.cs" />
@ -144,6 +143,8 @@
<Compile Include="Adaptation\FileHandlers\RsM\ProcessData.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\ProcessData.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\ProcessData.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\Row.cs" />
<Compile Include="Adaptation\FileHandlers\RsM\Run.cs" />
<Compile Include="Adaptation\FileHandlers\SPaCe\FileRead.cs" />
<Compile Include="Adaptation\FileHandlers\txt\Description.cs" />
<Compile Include="Adaptation\FileHandlers\txt\Descriptor.cs" />