public void DoNotAllowToAddDuplicateStudentToSystem()
        {
            try
            {
                IStudentLogic studentOperations = DummyProvider.GetInstance.GetStudentOperations();

                Student firstStudent = Utility.CreateRandomStudent();
                firstStudent.StudentNumber = 1;

                Student secondStudent = new Student(firstStudent.GetName(), firstStudent.GetLastName(), firstStudent.GetDocumentNumber());
                secondStudent.StudentNumber = 2;

                studentOperations.AddStudent(firstStudent);
                studentOperations.AddStudent(secondStudent);

                Assert.Fail();
            }
            catch (CoreException ex)
            {
                Assert.IsTrue(ex.Message.Equals("Student already exists."));
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }
        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 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));
        }
        public void ModifyStudentLastName()
        {
            IStudentLogic studentOperations = DummyProvider.GetInstance.GetStudentOperations();
            int           nextStudentNumber = 1;

            var newStudent = new Student();

            newStudent.Name          = Utility.GetRandomName();
            newStudent.LastName      = "de Leon";
            newStudent.Document      = "1234567-8";
            newStudent.StudentNumber = nextStudentNumber;
            studentOperations.AddStudent(newStudent);

            ModifyStudentInput modifyInput = new ModifyStudentInput();

            modifyInput.NewLastName   = "Diaz";
            modifyInput.StudentNumber = nextStudentNumber;
            studentOperations.ModifyStudent(modifyInput);

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

            Assert.AreEqual(modifiedStudent.GetLastName(), modifyInput.NewLastName);
        }