public void testAddSubjectOrGrade() { Period p = new Period(); p.PeriodID = 1; p.PeriodName = "term 1"; Grade g = new Grade(); g.SubjectID = "11"; g.SubjectName = "sample"; Student str = new Student(); str.StudentID = "123"; contoller.addOrUpdateStudent(str); contoller.addOrUpdatePeriod(str, p); contoller.addOrUpdateGrade(str, g, p); g.SubjectID = "b2"; g.SubjectName = "gendou"; contoller.addOrUpdateGrade(str, g, p); int asd = contoller.getPeriod(str, 1).Grades.Count; Assert.AreEqual(contoller.getPeriod(str, 1).Grades.Find(delegate(Grade gd) { return(gd.SubjectID.Equals(g.SubjectID)); }), g); Assert.AreEqual(contoller.getPeriod(str, 1).Grades.Count, asd); //Add a new subject //Test that the subject is now present }
private static void addGradesFromXML(IStudentController controller, String doc) { #region codes //XmlNodeList primelist = doc.SelectNodes("easygradepro/class"); //foreach (XmlNode primenode in primelist) //{ // XmlNodeList peroidlist = primenode.SelectNodes("classrecord"); // XmlNodeList studentinfo = primenode.SelectNodes("student"); // XmlNodeList gradename = primenode.SelectNodes("assignments/assignment"); // foreach (XmlNode student in studentinfo) // { // Student idgeter = new Student(); // idgeter.StudentID = student.ChildNodes[0].ChildNodes[0].InnerText; // XmlNodeList gradeinfo = student.SelectNodes("stud_grades/overall"); // foreach (XmlNode test in peroidlist) // { // Grade Grade = new Grade(); // Period period = new Period(); // period.PeriodID = Int32.Parse(test.ChildNodes[1].InnerText); // period.PeriodName = test.ChildNodes[2].InnerText; // Grade.SubjectID = test.ChildNodes[4].InnerText; // Grade.SubjectCategory = test.ChildNodes[5].InnerText; // Grade.SubjectName = test.ChildNodes[0].InnerText; // controller.addOrUpdatePeriod(controller.getStudent(idgeter.StudentID), period); // foreach (XmlNode grade in gradeinfo) // { // if (grade.ChildNodes[2].InnerText != "") // { // Grade.NumericGrade = double.Parse(grade.ChildNodes[0].InnerText); // Grade.LetterGrade = grade.ChildNodes[2].InnerText; // controller.addOrUpdateGrade(controller.getStudent(idgeter.StudentID), Grade, controller.getPeriod(controller.getStudent(idgeter),period.PeriodID)); // } // } // } // } //} #endregion try { myReader = new StreamReader(doc); String loadedString = null; Student stud = new Student(); while ((loadedString = myReader.ReadLine()) != null) { String[] studentDetails = loadedString.Split('\t'); stud.StudentID = studentDetails[0]; Grade Grade = new Grade(); Period period = new Period(); if (studentDetails[9] != null) { period.PeriodID = 1; period.PeriodName = "Term 1"; controller.addOrUpdatePeriod(controller.getStudent(stud.StudentID), period); if (studentDetails[8] != "" && studentDetails[9] != "") { Grade.SubjectID = studentDetails[4].Substring(0, 4); //Grade.SubjectID = studentDetails[4]; Grade.LetterGrade = studentDetails[9]; Grade.NumericGrade = Convert.ToDouble(studentDetails[8]); } else { Grade.SubjectID = studentDetails[4].Substring(0, 4); //Grade.SubjectID = studentDetails[4]; Grade.LetterGrade = "N/A"; Grade.NumericGrade = 0; } controller.addOrUpdateGrade(controller.getStudent(stud.StudentID), Grade, controller.getPeriod(controller.getStudent(stud), period.PeriodID)); } //if (studentDetails[11] != null) //{ // period.PeriodID = 2; // period.PeriodName = "Term 2"; // controller.addOrUpdatePeriod(controller.getStudent(stud.StudentID), period); // if (studentDetails[10] != "") // { // //Grade.SubjectID = studentDetails[4].Substring(0, 4); // Grade.SubjectID = studentDetails[4]; // Grade.LetterGrade = studentDetails[11]; // Grade.NumericGrade = Convert.ToDouble(studentDetails[10]); // } // else // { // //Grade.SubjectID = studentDetails[4].Substring(0, 4); // Grade.SubjectID = studentDetails[4]; // Grade.LetterGrade = ""; // Grade.NumericGrade = 0; // } // controller.addOrUpdateGrade(controller.getStudent(stud.StudentID), Grade, controller.getPeriod(controller.getStudent(stud), period.PeriodID)); //} //if (studentDetails[13] != null) //{ // period.PeriodID = 3; // period.PeriodName = "Term 3"; // controller.addOrUpdatePeriod(controller.getStudent(stud.StudentID), period); // if (studentDetails[12] != "") // { // //Grade.SubjectID = studentDetails[4].Substring(0, 4); // Grade.SubjectID = studentDetails[4]; // Grade.LetterGrade = studentDetails[13]; // Grade.NumericGrade = Convert.ToDouble(studentDetails[12]); // } // else // { // //Grade.SubjectID = studentDetails[4].Substring(0, 4); // Grade.SubjectID = studentDetails[4]; // Grade.LetterGrade = ""; // Grade.NumericGrade = 0; // } // controller.addOrUpdateGrade(controller.getStudent(stud.StudentID), Grade, controller.getPeriod(controller.getStudent(stud), period.PeriodID)); //} } myReader.Close(); } catch (Exception er) { System.Windows.Forms.MessageBox.Show(er.Message, "Unable to run the File"); } }