Example #1
0
        public StudentAndAverageGrade[] FindStudentsWithLowestAverageGrade(Student[] students)
        {
            StudentAndAverageGrade[] studentsLAG = new StudentAndAverageGrade[0];
            var min = CalculateTheAverageGradeForOneStudent(students[0]);
            var lowestGradeStudent = students[0];
            var counter            = -1;

            for (int i = 1; i < students.Length; i++)
            {
                if (min > CalculateTheAverageGradeForOneStudent(students[i]))
                {
                    min = CalculateTheAverageGradeForOneStudent(students[i]);
                    lowestGradeStudent = students[i];
                }
            }
            for (int i = 0; i < students.Length; i++)
            {
                if (min == CalculateTheAverageGradeForOneStudent(students[i]))
                {
                    Array.Resize(ref studentsLAG, studentsLAG.Length + 1);
                    counter++;
                    studentsLAG[counter] = new StudentAndAverageGrade(students[i].studentName, min);
                }
            }
            return(studentsLAG);
        }
Example #2
0
        public void ShouldSortStudentsbyAverageGrade()
        {
            Student[] students = new Student[]
            {
                new Student("Paul", new Material[]
                {
                    new Material("Math", new int[] { 7, 7 }),
                    new Material("English", new int[] { 7, 7 }),
                    new Material("French", new int[] { 7, 7 })
                }),
                new Student("Raul", new Material[]
                {
                    new Material("Math", new int[] { 6, 6 }),
                    new Material("English", new int[] { 6, 6 }),
                    new Material("French", new int[] { 6, 6 })
                }),
                new Student("Alin", new Material[]
                {
                    new Material("Math", new int[] { 8, 8 }),
                    new Material("English", new int[] { 8, 8 }),
                    new Material("French", new int[] { 8, 8 })
                }),
                new Student("Zoro", new Material[]
                {
                    new Material("Math", new int[] { 6, 6 }),
                    new Material("English", new int[] { 6, 6 }),
                    new Material("French", new int[] { 6, 6 })
                })
            };
            var result0 = new string[] { "Alin", "Paul", "Raul", "Zoro" };
            var result1 = new StudentAndAverageGrade[]
            {
                new StudentAndAverageGrade("Alin", 8),
                new StudentAndAverageGrade("Paul", 7),
                new StudentAndAverageGrade("Raul", 6),
                new StudentAndAverageGrade("Zoro", 6)
            };

            var function0 = SortAlphabetically(students);

            Assert.AreEqual(result0[0], function0[0].studentName);
            Assert.AreEqual(result0[3], function0[3].studentName);
            var function1 = SortStudentsbyAverageGrade(students);

            CollectionAssert.AreEqual(result1, function1);
            var function2 = FindStudentsWithLowestAverageGrade(students);

            CollectionAssert.AreEqual(new StudentAndAverageGrade[] { new StudentAndAverageGrade("Raul", 6), new StudentAndAverageGrade("Zoro", 6) }, function2);
            var function3 = FindStudentWitheSpecificAverageGrade(students, 7);

            CollectionAssert.AreEqual(new StudentAndAverageGrade[] { new StudentAndAverageGrade("Paul", 7) }, function3);
        }
Example #3
0
        public StudentAndAverageGrade[] FindStudentWitheSpecificAverageGrade(Student[] students, int averageGrade)
        {
            StudentAndAverageGrade[] findTheStudent = new StudentAndAverageGrade[0];
            var counter = -1;

            for (int i = 0; i < students.Length; i++)
            {
                if (averageGrade == CalculateTheAverageGradeForOneStudent(students[i]))
                {
                    Array.Resize(ref findTheStudent, findTheStudent.Length + 1);
                    counter++;
                    findTheStudent[counter] = new StudentAndAverageGrade(students[i].studentName, averageGrade);
                }
            }
            return(findTheStudent);
        }
Example #4
0
 public StudentAndAverageGrade[] SortStudentsbyAverageGrade(Student[] students)
 {
     for (int i = 0; i < students.Length; i++)
     {
         for (int j = i + 1; j < students.Length; j++)
         {
             if (CalculateTheAverageGradeForOneStudent(students[i]) <
                 CalculateTheAverageGradeForOneStudent(students[j]))
             {
                 Change(ref students[i], ref students[j]);
             }
         }
     }
     StudentAndAverageGrade[] list = new StudentAndAverageGrade[students.Length];
     for (int i = 0; i < students.Length; i++)
     {
         var averageGrade = CalculateTheAverageGradeForOneStudent(students[i]);
         list[i] = new StudentAndAverageGrade(students[i].studentName, averageGrade);
     }
     return(list);
 }