public void CreateStudent()
        {
            string expectedName          = string.Empty;
            string expectedLastName      = string.Empty;
            int    expectedStudentNumber = 0;

            Student        student          = new Student();
            List <Subject> expectedSubjects = new List <Subject>();
            List <Subject> actualSubjects   = student.GetSubjects();

            Assert.AreEqual(expectedName, student.GetName());
            Assert.AreEqual(expectedLastName, student.GetLastName());
            Assert.AreEqual(expectedStudentNumber, student.GetStudentNumber());

            Assert.IsTrue(Utility.CompareLists(actualSubjects, expectedSubjects));
        }
        public void ModifyStudentSubjects()
        {
            IStudentLogic studentOperations = DummyProvider.GetInstance.GetStudentOperations();
            int           nextStudentNumber = 1;

            #region Add subjects to the system
            List <Subject> systemSubjects = SystemDummyData.GetInstance.GetSubjects();
            Subject        subject1       = new Subject(1234, "Math");
            Subject        subject2       = new Subject(3216, "Physics");
            Subject        subject3       = new Subject(7418, "Chemistry");
            Subject        subject4       = new Subject(9632, "History");
            systemSubjects.Add(subject1);
            systemSubjects.Add(subject2);
            systemSubjects.Add(subject3);
            systemSubjects.Add(subject4);
            #endregion

            #region Add students with subjects to the system
            List <Subject> studentSubjects = new List <Subject>();
            studentSubjects.Add(subject1);
            studentSubjects.Add(subject2);
            studentSubjects.Add(subject3);

            var newStudent = new Student();
            newStudent.Document      = "1234567-8";
            newStudent.Name          = Utility.GetRandomName();
            newStudent.LastName      = Utility.GetRandomLastName();
            newStudent.Subjects      = studentSubjects;
            newStudent.StudentNumber = nextStudentNumber;
            studentOperations.AddStudent(newStudent);
            #endregion

            List <Subject> newSubjects = new List <Subject>();
            newSubjects.Add(subject1);
            newSubjects.Add(subject2);
            newSubjects.Add(subject4);

            var modifyInput = new ModifyStudentInput();
            modifyInput.NewSubjects   = newSubjects;
            modifyInput.StudentNumber = nextStudentNumber;
            studentOperations.ModifyStudent(modifyInput);

            Student modifiedStudent = studentOperations.GetStudentByNumber(modifyInput.StudentNumber);

            Assert.IsTrue(Utility.CompareLists(modifiedStudent.GetSubjects(), modifyInput.NewSubjects));
        }
        public void AddSubjectToStudent()
        {
            IStudentLogic studentOperations = DummyProvider.GetInstance.GetStudentOperations();
            ISubjectLogic subjectOperations = DummyProvider.GetInstance.GetSubjectOperations();

            List <Subject> systemSubjects = SystemDummyData.GetInstance.GetSubjects();
            Subject        aSubject       = new Subject(123456, "Math");

            systemSubjects.Add(aSubject);

            Student newStudent       = Utility.CreateRandomStudent();
            Subject subjectToBeAdded = subjectOperations.GetSubjectByCode(123456);

            newStudent.AddSubjectToStudent(subjectToBeAdded);

            Assert.IsTrue(newStudent.GetSubjects().Count > 0);
        }
        public void CreateStudentWithParameters()
        {
            string         expectedName           = "Luis";
            string         expectedLastName       = "Suarez";
            string         expectedDocumentNumber = "1234567-8";
            int            expectedStudentNumber  = 0;
            List <Subject> expectedSubjects       = new List <Subject>();

            Student student = new Student(expectedName, expectedLastName, expectedDocumentNumber);

            Assert.AreEqual(expectedName, student.GetName());
            Assert.AreEqual(expectedLastName, student.GetLastName());
            Assert.AreEqual(expectedDocumentNumber, student.GetDocumentNumber());
            Assert.AreEqual(expectedStudentNumber, student.GetStudentNumber());

            List <Subject> actualSubjects = student.GetSubjects();

            Assert.IsTrue(Utility.CompareLists(actualSubjects, expectedSubjects));
        }