public void ShouldMap()
        {
            var student = new StudentBuilder()
                .WithFirstName("Hugo")
                .WithLastSurname("Range")
                .WithStudentUsi(12345)
                .Build();
            var parentCourseGrade = new ParentCourseGradeBuilder().WithStudent(student).Build();
            var gradeModel = new ParentCourseGradeToGradeModelMapper().Build(parentCourseGrade);

            gradeModel.StudentFirstName.ShouldBe(student.FirstName);
            gradeModel.StudentLastName.ShouldBe(student.LastSurname);
            gradeModel.StudentUSI.ShouldBe(student.StudentUSI);
            gradeModel.Grade.ShouldBe(parentCourseGrade.GradeEarned);
        }
        public void ShouldMap()
        {

            var parentCourseGrade1 =
                new ParentCourseGradeBuilder().WithParentCourse(new ParentCourseBuilder().WithCourseCode("MATH12321").Build())
                    .WithStudent(new StudentBuilder().WithStudentUsi(2000).WithLastSurname("Jones").Build())
                    .Build(); 
            var parentCourseGrade2 =
                new ParentCourseGradeBuilder().WithParentCourse(new ParentCourseBuilder().WithCourseCode("ENGL432").Build())
                    .WithStudent(new StudentBuilder().WithStudentUsi(2001).WithLastSurname("White").Build())
                    .Build();

            var parentCourseGrades = new List<ParentCourseGrade>
            {
                parentCourseGrade1, parentCourseGrade2
            };

            var mapper = new ParentCourseGradeToCsvMapper();
            var gradesByteArray = mapper.Build(parentCourseGrades);

            var csvString = System.Text.Encoding.Default.GetString(gradesByteArray);
            var csvLines = csvString.Split(new [] { Environment.NewLine }, StringSplitOptions.None);

            csvLines.Count().ShouldBe(4);
            csvLines[0].ShouldBe("StudentLastName,StudentUSI,CourseCode,CourseTitle,Grade");
            csvLines[1].ShouldBe(parentCourseGrade1.Student.LastSurname + ","
                                 + parentCourseGrade1.StudentUSI + ","
                                 + parentCourseGrade1.ParentCourse.ParentCourseCode + ","
                                 + parentCourseGrade1.ParentCourse.ParentCourseTitle + ","
                                 + parentCourseGrade1.GradeEarned);

            csvLines[2].ShouldBe(parentCourseGrade2.Student.LastSurname + ","
                                 + parentCourseGrade2.StudentUSI + ","
                                 + parentCourseGrade2.ParentCourse.ParentCourseCode + ","
                                 + parentCourseGrade2.ParentCourse.ParentCourseTitle + ","
                                 + parentCourseGrade2.GradeEarned);
        }