Pieces for testing and tracking status of homework checking.

This commit is contained in:
Tim Young 2017-08-14 16:13:17 -05:00
parent 98fae3192f
commit c07247bb66
4 changed files with 51 additions and 1 deletions

View File

@ -84,6 +84,7 @@ namespace EduNetworkBuilder
Level6_NeedVLANs, Level6_SwitchedUp, Level6_NeedVLANs, Level6_SwitchedUp,
} }
public enum HomeworkSolvedStatus { NeverChecked, CheckedFailed, CheckedSucceeded }
public enum DebugPausePoint { none=0, packet_create=1, packet_kill=2, public enum DebugPausePoint { none=0, packet_create=1, packet_kill=2,
packet_in=4, packet_out=8, packet_duplicate=16, all=63, packet_in=4, packet_out=8, packet_duplicate=16, all=63,
dump=256, pause=512} dump=256, pause=512}

View File

@ -66,6 +66,8 @@ namespace EduNetworkBuilder
private List<Image> PacketImages = new List<Image>(); private List<Image> PacketImages = new List<Image>();
private List<PingTestStatus> PingTestStats = new List<PingTestStatus>(); private List<PingTestStatus> PingTestStats = new List<PingTestStatus>();
public HomeworkSolvedStatus HomeworkStatus = HomeworkSolvedStatus.NeverChecked;
/// <summary> /// <summary>
/// WhatFrom: If we are launched from a homework, we remember it here. /// WhatFrom: If we are launched from a homework, we remember it here.
/// </summary> /// </summary>
@ -243,6 +245,9 @@ namespace EduNetworkBuilder
case "sortorder": case "sortorder":
double.TryParse(Individual.InnerText, out SortOrder); double.TryParse(Individual.InnerText, out SortOrder);
break; break;
case "homeworkstatus":
HomeworkStatus = NB.ParseEnum<HomeworkSolvedStatus>(Individual.InnerText);
break;
case "startinghelplevel": case "startinghelplevel":
StartingHelpLevel = NB.ParseEnum<NetTestVerbosity>(Individual.InnerText); StartingHelpLevel = NB.ParseEnum<NetTestVerbosity>(Individual.InnerText);
HintsToDisplay = StartingHelpLevel; HintsToDisplay = StartingHelpLevel;
@ -357,7 +362,9 @@ namespace EduNetworkBuilder
writer.WriteElementString("startinghelplevel", StartingHelpLevel.ToString()); writer.WriteElementString("startinghelplevel", StartingHelpLevel.ToString());
writer.WriteElementString("vlansenabled", VLANsEnabled.ToString()); writer.WriteElementString("vlansenabled", VLANsEnabled.ToString());
writer.WriteElementString("VLANPacketColors", VLANPacketColors.ToString()); writer.WriteElementString("VLANPacketColors", VLANPacketColors.ToString());
if(!StraightToFile) if(HomeworkStatus != HomeworkSolvedStatus.NeverChecked)
writer.WriteElementString("HomeworkStatus", HomeworkStatus.ToString());
if (!StraightToFile)
writer.WriteElementString("PuzzleName", PuzzleName); writer.WriteElementString("PuzzleName", PuzzleName);
//Save all the devices //Save all the devices
for (int loop = 0; loop < NetComponents.Count; loop++) for (int loop = 0; loop < NetComponents.Count; loop++)
@ -1771,6 +1778,18 @@ namespace EduNetworkBuilder
return b; return b;
} }
/// <summary>
/// This func tries to non-visually process all the tests, seeing if the network is
/// "solved." This is for homework that is "submitted."
/// </summary>
public void CheckThatHomeworkIsSolved()
{
foreach(NetTest NT in NetTests)
{
}
}
} }
} }

View File

@ -70,6 +70,7 @@
this.tvClasswork = new System.Windows.Forms.TreeView(); this.tvClasswork = new System.Windows.Forms.TreeView();
this.btnExit = new System.Windows.Forms.Button(); this.btnExit = new System.Windows.Forms.Button();
this.cbTeacherAutoDHCP = new System.Windows.Forms.CheckBox(); this.cbTeacherAutoDHCP = new System.Windows.Forms.CheckBox();
this.bthAutoTestStudentHomework = new System.Windows.Forms.Button();
this.tcTabControl.SuspendLayout(); this.tcTabControl.SuspendLayout();
this.TabProfile.SuspendLayout(); this.TabProfile.SuspendLayout();
this.TabClasswork.SuspendLayout(); this.TabClasswork.SuspendLayout();
@ -379,6 +380,7 @@
// //
// TabStudents // TabStudents
// //
this.TabStudents.Controls.Add(this.bthAutoTestStudentHomework);
this.TabStudents.Controls.Add(this.btnReadAllStudentHomework); this.TabStudents.Controls.Add(this.btnReadAllStudentHomework);
this.TabStudents.Controls.Add(this.btnAllHomeworkToStudents); this.TabStudents.Controls.Add(this.btnAllHomeworkToStudents);
this.TabStudents.Location = new System.Drawing.Point(4, 25); this.TabStudents.Location = new System.Drawing.Point(4, 25);
@ -509,6 +511,16 @@
this.cbTeacherAutoDHCP.UseVisualStyleBackColor = true; this.cbTeacherAutoDHCP.UseVisualStyleBackColor = true;
this.cbTeacherAutoDHCP.CheckedChanged += new System.EventHandler(this.cbTeacherAutoDHCP_CheckedChanged); this.cbTeacherAutoDHCP.CheckedChanged += new System.EventHandler(this.cbTeacherAutoDHCP_CheckedChanged);
// //
// bthAutoTestStudentHomework
//
this.bthAutoTestStudentHomework.Location = new System.Drawing.Point(23, 108);
this.bthAutoTestStudentHomework.Name = "bthAutoTestStudentHomework";
this.bthAutoTestStudentHomework.Size = new System.Drawing.Size(207, 23);
this.bthAutoTestStudentHomework.TabIndex = 8;
this.bthAutoTestStudentHomework.Text = "Auto-test homework";
this.bthAutoTestStudentHomework.UseVisualStyleBackColor = true;
this.bthAutoTestStudentHomework.Click += new System.EventHandler(this.bthAutoTestStudentHomework_Click);
//
// PersonProfileForm // PersonProfileForm
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F); this.AutoScaleDimensions = new System.Drawing.SizeF(8F, 16F);
@ -578,5 +590,6 @@
private System.Windows.Forms.Button btnReadAllStudentHomework; private System.Windows.Forms.Button btnReadAllStudentHomework;
private System.Windows.Forms.Button btnExportStudentPasswords; private System.Windows.Forms.Button btnExportStudentPasswords;
private System.Windows.Forms.CheckBox cbTeacherAutoDHCP; private System.Windows.Forms.CheckBox cbTeacherAutoDHCP;
private System.Windows.Forms.Button bthAutoTestStudentHomework;
} }
} }

View File

@ -989,5 +989,22 @@ namespace EduNetworkBuilder
{ {
CurrentUser.UserSettings.AutoDHCPAllMachinesAtNetworkLoad = cbTeacherAutoDHCP.Checked; CurrentUser.UserSettings.AutoDHCPAllMachinesAtNetworkLoad = cbTeacherAutoDHCP.Checked;
} }
private void bthAutoTestStudentHomework_Click(object sender, EventArgs e)
{
if (CurrentUser == null) return;
//Test all student's homework that is ungraded.
foreach(PersonClass student in CurrentUser.Students)
{
foreach(SchoolworkClass homework in student.Projects)
{
if(homework.IsSumbitted && !homework.IsGraded)
{
//We only need to test homework that is submitted and not graded.
}
}
}
}
} }
} }