public void CourseWithBursaryAndScholarship_HasScholarshipAndBursary_IsTrue()
        {
            var course = CourseBuilder.BuildCourse("Scholarship")
                         .AddBursaryAndScholarshipSubject();

            course.HasScholarshipAndBursary().Should().BeTrue("There is scholarship funding on the course");
        }
        public void OverriddenFunding(string courseName)
        {
            using (new AssertionScope())
            {
                var course1 = CourseBuilder.BuildCourse(courseName)
                              .AddBursarySubject()
                              .AddBursaryAndScholarshipSubject();
                course1.FundingOptions().Should().Be(CourseExtensions.FundingOption_StudentFinance);
                var course2 = CourseBuilder.BuildCourse(courseName)
                              .AddSubject()
                              .AddBursaryAndScholarshipSubject();
                course2.FundingOptions().Should().Be(CourseExtensions.FundingOption_StudentFinance);
                var course3 = CourseBuilder.BuildCourse(courseName)
                              .AddSubject()
                              .AddBursarySubject();
                course3.FundingOptions().Should().Be(CourseExtensions.FundingOption_StudentFinance);
                var course4 = CourseBuilder.BuildCourse(courseName)
                              .AddSubject();
                course4.FundingOptions().Should().Be(CourseExtensions.FundingOption_StudentFinance);
                var course5 = CourseBuilder.BuildCourse(courseName)
                              .AddSubject()
                              .AddSubject();
                course5.FundingOptions().Should().Be(CourseExtensions.FundingOption_StudentFinance);

                var course6 = CourseBuilder.BuildCourse(courseName)
                              .AddBursarySubject();
                course6.FundingOptions().Should().Be(CourseExtensions.FundingOption_Bursary);
                var course7 = CourseBuilder.BuildCourse(courseName)
                              .AddBursaryAndScholarshipSubject();
                course7.FundingOptions().Should().Be(CourseExtensions.FundingOption_Scholarship);
            }
        }
        public void CourseWithBursary_HasScholarshipAndBursary_IsFalse()
        {
            var course = CourseBuilder.BuildCourse("Bursary")
                         .AddBursarySubject();

            course.HasScholarshipAndBursary().Should().BeFalse("There is only a bursary on the course");
        }
        public void FundingOptions_Salary()
        {
            var course = CourseBuilder.BuildCourse("Salary")
                         .AddSalary();

            course.FundingOptions().Should().Be(CourseExtensions.FundingOption_Salary);
        }
        public void FundingOptions_Bursary()
        {
            var course = CourseBuilder.BuildCourse("Bursary")
                         .AddBursarySubject();

            course.FundingOptions().Should().Be(CourseExtensions.FundingOption_Bursary);
        }
        public void FundingOptions_Scholarship()
        {
            var course = CourseBuilder.BuildCourse("Scholarship")
                         .AddBursaryAndScholarshipSubject();

            course.FundingOptions().Should().Be(CourseExtensions.FundingOption_Scholarship);
        }
        public void CourseWithBursary_HasBursary_IsTrue()
        {
            var course = CourseBuilder.BuildCourse("Bursary")
                         .AddBursarySubject();

            course.HasBursary().Should().BeTrue("There is funding on the course");
        }
        public void CourseWithoutFunding_HasBursary_IsFalse()
        {
            var course = CourseBuilder.BuildCourse("No funding");

            course.HasBursary().Should().BeFalse("There is no funding on the course");
        }
        public void FundingOptions_StudentFinance()
        {
            var course = CourseBuilder.BuildCourse("StudentFinance");

            course.FundingOptions().Should().Be(CourseExtensions.FundingOption_StudentFinance);
        }