Esempio n. 1
0
 public Mark()
 {
     this.id = 0;
     this.value = 0;
     this.subject = null;
     this.student = null;
 }
        public void GetAllStudents_WhenASingleStudentInRepository_ShouldReturnSingleStudent()
        {
            var repository = new FakeRepository<Student>();

            var studentToAdd = new Student()
            {
               FirstName = "TestName"
            };

            repository.entities.Add(studentToAdd);

            var controller = new StudentController(repository);

            var studentModels = controller.GetAll();

            int counter = 0;

            foreach (var a in studentModels)
            {
                counter++;
            }

            Assert.IsTrue(counter == 1);

            foreach (var a in studentModels)
            {
                Assert.AreEqual(studentToAdd.FirstName, a.FirstName);
            }
        }
Esempio n. 3
0
 public Student RegisterStudent(string name)
 {
     var uniqueNumber = this.GetNextUniqueNumber();
     var student = new Student(name, uniqueNumber);
     this.students.Add(student);
     return student;
 }
Esempio n. 4
0
        public void AddStudentToCourse(Student student, Course course)
        {
            if (student == null)
            {
                throw new ArgumentNullException("Student cannot be null.");
            }

            if (!this.courses.Contains(course))
            {
                throw new ArgumentException("Course does not exists in this school.");
            }

            if (!this.students.Contains(student))
            {
                throw new ArgumentException("Student does not exists in this school.");
            }

            if (course.Students.Count >= course.StudentsCapacity)
            {
                throw new ArgumentException("Course capacity is filled.");
            }

            if (course.Students.Contains(student))
            {
                throw new ArgumentException(
                    string.Format("Student with number {0} already added in this course.", student.UniqueNumber));
            }

            course.Students.Add(student);
        }
Esempio n. 5
0
        public void RemoveStudentFromCourse(Student student, Course course)
        {
            if (student == null)
            {
                throw new ArgumentNullException("Student cannot be null.");
            }

            course.Students.Remove(student);
        }
Esempio n. 6
0
        public static StudentModel SerilizeStudentModel(Student student)
        {
            StudentModel studentModel = new StudentModel();
            studentModel.FirstName = student.FirstName;
            studentModel.LastName = student.LastName;
            studentModel.Age = student.Age;
            studentModel.Grade = student.Grade;

            return studentModel;
        }
Esempio n. 7
0
        public static Student SerilizeStudent(StudentModel model)
        {
            Student student = new Student();
            student.FirstName = model.FirstName;
            student.LastName = model.LastName;
            student.Age = model.Age;
            student.Grade = model.Grade;

            return student;
        }
        public void GetAllStudentsTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var student = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };
            repository.entities.Add(student);
            var server = new InMemoryHttpServer("http://localhost/");

            var response = server.CreateGetRequest("api/students");

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsNotNull(response.Content);
        }
        public void GetStudentInvalidTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var firstStudent = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };
            var secondStudent = new Student { FirstName = "Peter", LastName = "Petrov", Age = 15, Grade = 9, TownSchool = school };
            repository.entities.Add(firstStudent);
            repository.entities.Add(secondStudent);
            var server = new InMemoryHttpServer("http://localhost/");

            var response = server.CreateGetRequest("api/students/3");

            Assert.AreEqual(HttpStatusCode.BadRequest, response.StatusCode);
        }
Esempio n. 10
0
        public static StudentModel Convert(Student student)
        {
            StudentModel model = new StudentModel
            {
                StudentId = student.StudentId,
                FirstName = student.FirstName,
                LastName = student.LastName,
                Age = student.Age,
                Grade = student.Grade,
                MarksCount = student.Marks.Count,
                TownSchoolId = student.TownSchoolId
            };

            return model;
        }
        public void GetAllStudentsControllerTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var student = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };

            repository.entities.Add(student);
            var controller = new StudentsController(repository);
            var studentsModels = controller.GetAll();

            Assert.IsTrue(studentsModels.Count() == 1);
            Assert.AreEqual(student.FirstName, studentsModels.First().FirstName);
            Assert.AreEqual(student.LastName, studentsModels.First().LastName);
            Assert.AreEqual(student.Age, studentsModels.First().Age);
            Assert.AreEqual(student.Grade, studentsModels.First().Grade);
        }
        public void GetAllSeveralStudentsControllerTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var firstStudent = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };
            var secondStudent = new Student { FirstName = "Peter", LastName = "Petrov", Age = 15, Grade = 9, TownSchool = school };
            var thirdStudent = new Student { FirstName = "Todor", LastName = "Todorov", Age = 7, Grade = 1, TownSchool = school };

            repository.entities.Add(firstStudent);
            repository.entities.Add(secondStudent);
            repository.entities.Add(thirdStudent);
            var controller = new StudentsController(repository);
            var studentsModels = controller.GetAll();

            Assert.IsTrue(studentsModels.Count() == 3);
        }
        public void DeleteStudentsControllerTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var firstStudent = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };
            var secondStudent = new Student { FirstName = "Peter", LastName = "Petrov", Age = 15, Grade = 9, TownSchool = school };
            var thirdStudent = new Student { FirstName = "Todor", LastName = "Todorov", Age = 7, Grade = 1, TownSchool = school };

            var controller = new StudentsController(repository);
            var firstStudentModel = controller.Post(firstStudent);
            var secondStudentModel = controller.Post(secondStudent);
            var thirdStudentModel = controller.Post(thirdStudent);
            controller.Delete(3);

            Assert.IsTrue(controller.GetAll().Count() == 2);
            Assert.IsTrue(controller.GetAll().Count(x => x.FirstName == thirdStudent.FirstName) == 0);
        }
        public void GetStudentBySubjectMarkTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var firstStudent = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };
            var secondStudent = new Student { FirstName = "Peter", LastName = "Petrov", Age = 15, Grade = 9, TownSchool = school };
            firstStudent.Marks.Add(new Mark { Subject = "Math", Value = 5, Student = firstStudent });
            secondStudent.Marks.Add(new Mark { Subject = "History", Value = 4, Student = secondStudent });
            secondStudent.Marks.Add(new Mark { Subject = "IT", Value = 6, Student = secondStudent });
            repository.entities.Add(firstStudent);
            repository.entities.Add(secondStudent);
            var server = new InMemoryHttpServer("http://localhost/");

            var response = server.CreateGetRequest("api/students?subject=Math&value=5");

            Assert.AreEqual(HttpStatusCode.OK, response.StatusCode);
            Assert.IsNotNull(response.Content);
        }
        public void GetByIdStudentsControllerTest()
        {
            var repository = new FakeStudentRepository();

            var school = new TownSchool { Name = "School", Location = "Town" };
            var firstStudent = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };
            var secondStudent = new Student { FirstName = "Peter", LastName = "Petrov", Age = 15, Grade = 9, TownSchool = school };
            var thirdStudent = new Student { FirstName = "Todor", LastName = "Todorov", Age = 7, Grade = 1, TownSchool = school };

            repository.entities.Add(firstStudent);
            repository.entities.Add(secondStudent);
            repository.entities.Add(thirdStudent);
            var controller = new StudentsController(repository);
            var studentModel = controller.Get(1);

            Assert.AreEqual(secondStudent.FirstName, studentModel.FirstName);
            Assert.AreEqual(secondStudent.LastName, studentModel.LastName);
            Assert.AreEqual(secondStudent.Age, studentModel.Age);
            Assert.AreEqual(secondStudent.Grade, studentModel.Grade);
        }
Esempio n. 16
0
        private static void TestSchool()
        {
            var math = new School.Discipline("Math");

            Console.WriteLine("math.ToString(): " + math);

            var petrov = new School.Teacher("Petrov");

            Console.WriteLine("Petrov.ToString(): " + petrov);

            petrov.AddDiscipline(math);
            // petrov.AddDiscipline(math); <-exeption
            petrov.RemoveDiscipline(math);
            petrov.AddDiscipline(math);

            var pesho = new School.Student("Pesho");

            Console.WriteLine("Pesho.ToString(): " + pesho);
            var gosho = new School.Student("Gosho");

            pesho.Comment = "Pesho hates math for no reason!";
            Console.WriteLine("Pesho.Comment: " + pesho.Comment);

            var fiveB = new School.ClassOfStudents("FiveB");

            Console.WriteLine("FiveB.ToString(): " + fiveB.ToString());

            fiveB.AddStudent(pesho);
            fiveB.RemoveStudent(pesho);
            fiveB.AddStudent(pesho);
            fiveB.AddStudent(gosho);
            fiveB.AddTeacher(petrov);

            var sch = new School.School("2865th");

            Console.WriteLine("Sch.ToString(): " + sch);
            sch.AddClass(fiveB);
            sch.Comment = "The school";
            Console.WriteLine("Sch.Comment: " + sch.Comment);
        }
        public static StudentFullModel Convert(Student student)
        {
            StudentFullModel model = new StudentFullModel
            {
                StudentId = student.StudentId,
                FirstName = student.FirstName,
                LastName = student.LastName,
                Age = student.Age,
                Grade = student.Grade,
                MarksCount = student.Marks.Count,
                Marks = (
                from mark in student.Marks
                select MarkModel.Convert(mark)).ToList(),
                TownSchool = new TownSchoolModel
                {
                    TownSchoolId = student.TownSchool.TownSchoolId,
                    Name = student.TownSchool.Name,
                    Location = student.TownSchool.Location,
                    StudentsCount = student.TownSchool.Students.Count
                }
            };

            return model;
        }
        public void PostStudentsControllerTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var student = new Student { FirstName = "Ivan", LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };

            var controller = new StudentsController(repository);
            var studentModel = controller.Post(student).Content.ReadAsStringAsync().Result;
            Student studentDeserialized = JsonConvert.DeserializeObject<Student>(studentModel);

            Assert.IsTrue(controller.GetAll().Count() == 1);
            Assert.IsNotNull(studentDeserialized);
            Assert.AreEqual(student.FirstName, studentDeserialized.FirstName);
            Assert.AreEqual(student.LastName, studentDeserialized.LastName);
            Assert.AreEqual(student.Age, studentDeserialized.Age);
            Assert.AreEqual(student.Grade, studentDeserialized.Grade);
        }
        public void PostStudentInvalidNameTest()
        {
            var repository = new FakeStudentRepository();
            var school = new TownSchool { Name = "School", Location = "Town" };
            var student = new Student { FirstName = null, LastName = "Ivanov", Age = 9, Grade = 4, TownSchool = school };

            var server = new InMemoryHttpServer("http://localhost/");

            var response = server.CreatePostRequest("api/students", student);

            Assert.AreEqual(HttpStatusCode.InternalServerError, response.StatusCode);
        }