public void TestFileIO() { StudyPlan oriPlan = new StudyPlan { Semester = "2010 Fall" }; oriPlan.Courses.Add(new Course { Id = 1, Name = "Python", LocationTime = new LocationTime { Location = "sloan", Time = "Mon 12.10" } }); oriPlan.Courses.Add(new Course { Id = 2, Name = "Distributed System", LocationTime = new LocationTime { Location = "EME", Time = "Mon 16.15" } }); const string FileName = "MultiObjectFile.xml"; DataContractSerializer serializer = new DataContractSerializer(typeof(StudyPlan)); // ---------------- serialize using (XmlWriter writer = XmlWriter.Create(FileName, new XmlWriterSettings { Indent = true })) { serializer.WriteObject(writer, oriPlan); } // ---------------- deserialize StudyPlan cpyPlan = null; using (XmlReader reader = XmlReader.Create(FileName)) { cpyPlan = (StudyPlan)serializer.ReadObject(reader); } // ---------------- check Assert.AreEqual(oriPlan, cpyPlan); }
public override bool Equals(object obj) { if (obj == null) { return(false); } if (object.ReferenceEquals(this, obj)) { return(true); } if (obj is StudyPlan) { StudyPlan otherplan = (StudyPlan)obj; if ((this.Semester.Equals(otherplan.Semester)) && (m_course.Count == otherplan.m_course.Count)) { for (int index = 0; index < m_course.Count; ++index) { if (!m_course[index].Equals(otherplan.m_course[index])) { return(false); } }// for, iterate over each element course return(true); } else { return(false); } } else { return(false); } }