private void btnGenCode_Click(object sender, EventArgs e) { var sb = new StringBuilder(); for (int i = 0; i < _clientRuns.Count; i++) { sb.AppendLine("// Check Run " + i + " Positions"); sb.AppendLine("var expectedRun = new ClientRun(" + _clientRuns[i].ClientStartIndex + ");"); for (int j = 0; j < _clientRuns[i].UnitIndexes.Count; j++) { var index = _clientRuns[i].UnitIndexes[j]; sb.AppendLine("expectedRun.UnitIndexes.Add(new UnitIndex(" + index.QueueIndex + "," + index.StartIndex + "," + index.EndIndex + "));"); } sb.AppendLine("expectedRun.ClientVersion = \"" + _clientRuns[i].ClientVersion + "\";"); sb.AppendLine("expectedRun.Arguments = \"" + _clientRuns[i].Arguments + "\";"); sb.AppendLine("expectedRun.FoldingID = \"" + _clientRuns[i].FoldingID + "\";"); sb.AppendLine("expectedRun.Team = " + _clientRuns[i].Team + ";"); sb.AppendLine("expectedRun.UserID = \"" + _clientRuns[i].UserID + "\";"); sb.AppendLine("expectedRun.MachineID = " + _clientRuns[i].MachineID + ";"); sb.AppendLine("expectedRun.CompletedUnits = " + _clientRuns[i].CompletedUnits + ";"); sb.AppendLine("expectedRun.FailedUnits = " + _clientRuns[i].FailedUnits + ";"); sb.AppendLine("expectedRun.TotalCompletedUnits = " + _clientRuns[i].TotalCompletedUnits + ";"); sb.AppendLine("expectedRun.Status = SlotStatus." + _clientRuns[i].Status + ";"); sb.AppendLine(); sb.AppendLine("DoClientRunCheck(expectedRun, clientRuns[" + i + "]);"); } var form2 = new TextDialog(); form2.SetText(sb.ToString()); form2.Show(); }
private void btnGenCode_Click(object sender, EventArgs e) { var sb = new StringBuilder(); int i = 0; int j = 0; int k = 0; foreach (var clientRun in _fahLog.ClientRuns.Reverse()) { sb.AppendLine("// Setup ClientRun " + i); sb.AppendLine((i == 0 ? "var " : String.Empty) + "expectedRun = new ClientRun(null, " + clientRun.ClientStartIndex + ");"); foreach (var slotRun in clientRun.SlotRuns.Values) { sb.AppendLine(); sb.AppendLine("// Setup SlotRun " + slotRun.FoldingSlot); sb.AppendLine((j == 0 ? "var " : String.Empty) + "expectedSlotRun = new SlotRun(expectedRun, " + slotRun.FoldingSlot + ");"); sb.AppendLine("expectedRun.SlotRuns.Add(" + slotRun.FoldingSlot + ", expectedSlotRun);"); int unitCount = 0; foreach (var unitRun in slotRun.UnitRuns.Reverse()) { sb.AppendLine(); sb.AppendLine("// Setup SlotRun " + slotRun.FoldingSlot + " - UnitRun " + unitCount); sb.AppendLine((k == 0 ? "var " : String.Empty) + "expectedUnitRun = new UnitRun(expectedSlotRun, " + unitRun.QueueIndex + "," + unitRun.StartIndex + "," + unitRun.EndIndex + ");"); sb.AppendLine("expectedUnitRun.Data = new UnitRunData();"); if (unitRun.Data.UnitStartTimeStamp.HasValue) { var st1 = unitRun.Data.UnitStartTimeStamp.Value; sb.AppendLine("expectedUnitRun.Data.UnitStartTimeStamp = new TimeSpan(" + st1.Hours + ", " + st1.Minutes + ", " + st1.Seconds + ");"); } sb.AppendLine("expectedUnitRun.Data.CoreVersion = " + unitRun.Data.CoreVersion + "f;"); sb.AppendLine("expectedUnitRun.Data.FramesObserved = " + unitRun.Data.FramesObserved + ";"); sb.AppendLine((k == 0 ? "var " : String.Empty) + "expectedProjectInfo = new ProjectInfo();"); sb.AppendLine("expectedProjectInfo.ProjectID = " + unitRun.Data.ProjectID + ";"); sb.AppendLine("expectedProjectInfo.ProjectRun = " + unitRun.Data.ProjectRun + ";"); sb.AppendLine("expectedProjectInfo.ProjectClone = " + unitRun.Data.ProjectClone + ";"); sb.AppendLine("expectedProjectInfo.ProjectGen = " + unitRun.Data.ProjectGen + ";"); sb.AppendLine("expectedUnitRun.Data.ProjectInfoList.Add(expectedProjectInfo);"); sb.AppendLine("expectedUnitRun.Data.WorkUnitResult = WorkUnitResult." + unitRun.Data.WorkUnitResult + ";"); sb.AppendLine("expectedSlotRun.UnitRuns.Push(expectedUnitRun);"); unitCount++; k++; } sb.AppendLine(); sb.AppendLine("// Setup SlotRunData " + slotRun.FoldingSlot); sb.AppendLine("expectedSlotRun.Data = new SlotRunData();"); sb.AppendLine("expectedSlotRun.Data.CompletedUnits = " + slotRun.Data.CompletedUnits + ";"); sb.AppendLine("expectedSlotRun.Data.FailedUnits = " + slotRun.Data.FailedUnits + ";"); sb.AppendLine("expectedSlotRun.Data.TotalCompletedUnits = " + GetStringOrNull(slotRun.Data.TotalCompletedUnits) + ";"); sb.AppendLine("expectedSlotRun.Data.Status = SlotStatus." + slotRun.Data.Status + ";"); j++; } sb.AppendLine(); sb.AppendLine("// Setup ClientRunData " + i); sb.AppendLine("expectedRun.Data = new ClientRunData();"); var st2 = clientRun.Data.StartTime; sb.AppendLine("expectedRun.Data.StartTime = new DateTime(" + st2.Year + ", " + st2.Month + ", " + st2.Day + ", " + st2.Hour + ", " + st2.Minute + ", " + st2.Second + ", DateTimeKind.Utc);"); sb.AppendLine("expectedRun.Data.Arguments = " + GetStringOrNull(clientRun.Data.Arguments) + ";"); sb.AppendLine("expectedRun.Data.ClientVersion = " + GetStringOrNull(clientRun.Data.ClientVersion) + ";"); sb.AppendLine("expectedRun.Data.FoldingID = " + GetStringOrNull(clientRun.Data.FoldingID) + ";"); sb.AppendLine("expectedRun.Data.Team = " + clientRun.Data.Team + ";"); sb.AppendLine("expectedRun.Data.UserID = " + GetStringOrNull(clientRun.Data.UserID) + ";"); sb.AppendLine("expectedRun.Data.MachineID = " + clientRun.Data.MachineID + ";"); sb.AppendLine(); sb.AppendLine("var actualRun = fahLog.ClientRuns.ElementAt(" + (_fahLog.ClientRuns.Count - 1 - i) + ");"); sb.AppendLine("FahLogAssert.AreEqual(expectedRun, actualRun, true);"); sb.AppendLine(); sb.AppendLine(String.Format("Assert.AreEqual({0}, actualRun.Count(x => x.LineType == LogLineType.Error));", clientRun.Count(x => x.LineType == LogLineType.Error))); i++; } var form2 = new TextDialog(); form2.SetText(sb.ToString()); form2.Show(); }
private void btnGenCode_Click(object sender, EventArgs e) { var sb = new StringBuilder(); int i = 0; int j = 0; int k = 0; foreach (var clientRun in _fahLog.ClientRuns) { sb.AppendLine("// Setup ClientRun " + i); sb.AppendLine((i == 0 ? "var " : String.Empty) + "expectedRun = new ClientRun(null, " + clientRun.ClientStartIndex + ");"); foreach (var slotRun in clientRun.SlotRuns.Values) { sb.AppendLine(); sb.AppendLine("// Setup SlotRun " + slotRun.FoldingSlot); sb.AppendLine((j == 0 ? "var " : String.Empty) + "expectedSlotRun = new SlotRun(expectedRun, " + slotRun.FoldingSlot + ");"); sb.AppendLine("expectedRun.SlotRuns.Add(" + slotRun.FoldingSlot + ", expectedSlotRun);"); int unitCount = 0; foreach (var unitRun in slotRun.UnitRuns) { sb.AppendLine(); sb.AppendLine("// Setup SlotRun " + slotRun.FoldingSlot + " - UnitRun " + unitCount); sb.AppendLine((k == 0 ? "var " : String.Empty) + "expectedUnitRun = new UnitRun(expectedSlotRun, " + unitRun.QueueIndex + "," + unitRun.StartIndex + "," + unitRun.EndIndex + ");"); if (unitRun.Data is FahClientUnitRunData) { sb.AppendLine((k == 0 ? "var " : String.Empty) + "expectedUnitRunData = new FahClientUnitRunData();"); } if (unitRun.Data.UnitStartTimeStamp.HasValue) { var st1 = unitRun.Data.UnitStartTimeStamp.Value; sb.AppendLine("expectedUnitRunData.UnitStartTimeStamp = new TimeSpan(" + st1.Hours + ", " + st1.Minutes + ", " + st1.Seconds + ");"); } if (unitRun.Data.CoreVersion == null) { sb.AppendLine("expectedUnitRunData.CoreVersion = null;"); } else { sb.AppendLine("expectedUnitRunData.CoreVersion = \"" + unitRun.Data.CoreVersion + "\";"); } sb.AppendLine("expectedUnitRunData.FramesObserved = " + unitRun.Data.FramesObserved + ";"); sb.AppendLine("expectedUnitRunData.ProjectID = " + unitRun.Data.ProjectID + ";"); sb.AppendLine("expectedUnitRunData.ProjectRun = " + unitRun.Data.ProjectRun + ";"); sb.AppendLine("expectedUnitRunData.ProjectClone = " + unitRun.Data.ProjectClone + ";"); sb.AppendLine("expectedUnitRunData.ProjectGen = " + unitRun.Data.ProjectGen + ";"); if (!String.IsNullOrEmpty(unitRun.Data.WorkUnitResult)) { sb.AppendLine("expectedUnitRunData.WorkUnitResult = WorkUnitResult." + unitRun.Data.WorkUnitResult + ";"); } else { sb.AppendLine("expectedUnitRunData.WorkUnitResult = WorkUnitResult.None;"); } sb.AppendLine((k == 0 ? "var " : String.Empty) + "frames = new Dictionary<int, WorkUnitFrameData>();"); int frameDataCount = 0; foreach (var kvp in unitRun.Data.Frames) { sb.AppendLine((k == 0 && frameDataCount == 0 ? "var " : String.Empty) + "frameData = new WorkUnitFrameData();"); sb.AppendLine("frameData.ID = " + kvp.Value.ID + ";"); sb.AppendLine("frameData.RawFramesComplete = " + kvp.Value.RawFramesComplete + ";"); sb.AppendLine("frameData.RawFramesTotal = " + kvp.Value.RawFramesTotal + ";"); sb.AppendLine("frameData.TimeStamp = TimeSpan.FromTicks(" + kvp.Value.TimeStamp.Ticks + ");"); sb.AppendLine("frameData.Duration = TimeSpan.FromTicks(" + kvp.Value.Duration.Ticks + ");"); sb.AppendLine("frames.Add(frameData.ID, frameData);"); frameDataCount++; } sb.AppendLine("expectedUnitRunData.Frames = frames;"); sb.AppendLine("expectedUnitRun.Data = expectedUnitRunData;"); sb.AppendLine("expectedSlotRun.UnitRuns.Add(expectedUnitRun);"); unitCount++; k++; } sb.AppendLine(); sb.AppendLine("// Setup SlotRunData " + slotRun.FoldingSlot); if (slotRun.Data is FahClientSlotRunData fahClientSlotRunData) { sb.AppendLine((j == 0 ? "var " : String.Empty) + "expectedSlotRunData = new FahClientSlotRunData();"); sb.AppendLine("expectedSlotRunData.CompletedUnits = " + fahClientSlotRunData.CompletedUnits + ";"); sb.AppendLine("expectedSlotRunData.FailedUnits = " + fahClientSlotRunData.FailedUnits + ";"); sb.AppendLine("expectedSlotRun.Data = expectedSlotRunData;"); } j++; } sb.AppendLine(); sb.AppendLine("// Setup ClientRunData " + i); if (clientRun.Data is FahClientClientRunData) { sb.AppendLine((i == 0 ? "var " : String.Empty) + "expectedRunData = new FahClientClientRunData();"); var st2 = clientRun.Data.StartTime; sb.AppendLine("expectedRunData.StartTime = new DateTime(" + st2.Year + ", " + st2.Month + ", " + st2.Day + ", " + st2.Hour + ", " + st2.Minute + ", " + st2.Second + ", DateTimeKind.Utc);"); sb.AppendLine("expectedRun.Data = expectedRunData;"); } sb.AppendLine(); sb.AppendLine((i == 0 ? "var " : String.Empty) + "actualRun = fahLog.ClientRuns.ElementAt(" + i + ");"); sb.AppendLine("AssertClientRun.AreEqual(expectedRun, actualRun, true);"); sb.AppendLine(); sb.AppendLine(String.Format("Assert.AreEqual({0}, LogLineEnumerable.Create(actualRun).Count(x => x.Data is LogLineDataParserError));", LogLineEnumerable.Create(clientRun).Count(x => x.Data is LogLineDataParserError))); i++; } var form2 = new TextDialog(); form2.SetText(sb.ToString()); form2.Show(); }