public void TestGetTotalCreditsPerYearWrongSemesters() { // Arrange: create data var semester = 2; var academicYear = 2; var subjects = GetSubjectsForThisSemester(2); var student = GetStudentWithSubjects(subjects); var collegeRules = new CollegeRules(academicYear, semester); // Arrange: prepare input var subjectPreviousYear = subjects.ElementAt(0); subjectPreviousYear.Semester = semester - 1; subjectPreviousYear.StudyYear = academicYear - 1; var subjectNextYear = subjects.ElementAt(1); subjectNextYear.Semester = semester + 1; subjectNextYear.StudyYear = academicYear + 1; // Act var totalCredits = collegeRules.GetTotalCreditsPerYear(student, academicYear, semester); // Assert Assert.AreEqual(0, totalCredits, "The number of credits is not equal to the expected one"); }
public void TestGetTotalCreditsPerYear() { // Arrange: create data var numberOfSubjects = 4; var subjects = GetSubjectsForThisSemester(numberOfSubjects); var student = GetStudentWithSubjects(subjects); var collegeRules = new CollegeRules(academicYear, semester); // Arrange: prepare input var subjectPreviousYear = subjects.ElementAt(0); subjectPreviousYear.Semester = semester - 1; subjectPreviousYear.StudyYear = academicYear - 1; var subjectNextYear = subjects.ElementAt(3); subjectNextYear.Semester = semester + 1; subjectNextYear.StudyYear = academicYear + 1; var subjectsThisSemester = student.SubjectsList.Skip(1).Take(2); var expectedTotalCredits = 0; foreach (var subjectThisSemester in subjectsThisSemester) { expectedTotalCredits += subjectThisSemester.Grade * subjectThisSemester.Subject.Credits; } // Act var totalCredits = collegeRules.GetTotalCreditsPerYear(student, academicYear, semester); // Assert Assert.AreEqual(expectedTotalCredits, totalCredits, "The number of credits is not equal to the expected one"); }