public void ShouldCancelRegistration()
        {
            var registration = RegistrationBuilder.New().Build();

            registration.Cancel();

            Assert.True(registration.Canceled);
        }
        public void ShouldNotInformInvalidGrade(double invalidGrade)
        {
            var registration = RegistrationBuilder.New().Build();

            Assert.Throws <DomainException>(() =>
                                            registration.InformGrade(invalidGrade))
            .WithMessage(Messages.INVALID_GRADE_STUDENT);
        }
        public void ShouldInformTheGradeOfTheStudent()
        {
            const double expectedGrade = 9.5;
            var          registration  = RegistrationBuilder.New().Build();

            registration.InformGrade(expectedGrade);

            Assert.Equal(expectedGrade, registration.StudentGrade);
        }
        public void ShouldNotCreateWithTargetAudienceIsDiferent()
        {
            var course  = CourseBuilder.New().WithTargetAudience(TargetAudience.Employee).Build();
            var student = StudentBuilder.New().WithTargetAudience(TargetAudience.Student).Build();

            Assert.Throws <DomainException>(() =>
                                            RegistrationBuilder.New().WithCourse(course).WithStudent(student).Build())
            .WithMessage(Messages.TARGET_AUDIENCE_IS_DIFERENT_STUDENT_COURSE);
        }
        public void ShouldNotCreateRegistrationWithValueBiggerThanCourseValue()
        {
            var course = CourseBuilder.New().WithValue(100).Build();

            var valueBiggerThanCourse = course.Value + 1;

            Assert.Throws <DomainException>(() => RegistrationBuilder.New().WithCourse(course).WithValue(valueBiggerThanCourse).Build())
            .WithMessage(Messages.REGISTRATION_VALUE_SHOULD_NOT_BE_BIGGER_THAN_COURSE);
        }
        public void ShouldIndicateThatCourseWasConcluded()
        {
            const double expectedGrade = 9.5;
            var          registration  = RegistrationBuilder.New().Build();

            registration.InformGrade(expectedGrade);

            Assert.True(registration.Course.Concluded);
        }
        public void ShouldIndicateThatThereWasDiscountInRegistration()
        {
            var course = CourseBuilder.New().WithValue(100).Build();

            var valuePaidWithDiscount = course.Value - 1;

            var registration = RegistrationBuilder.New().WithCourse(course).WithValue(valuePaidWithDiscount).Build();

            Assert.True(registration.HasDiscount);
        }
        public void ShouldNotCancelWhenRegistrationIsConcluded()
        {
            const double studentGrade = 3;
            var          registration = RegistrationBuilder.New().Build();

            registration.InformGrade(studentGrade);

            Assert.Throws <DomainException>(() =>
                                            registration.Cancel())
            .WithMessage(Messages.CONCLUDED_REGISTRATION);
        }
Exemple #9
0
 public RegistrationConclusionTest()
 {
     _registration           = RegistrationBuilder.New().Build();
     _registrationRepository = new Mock <IRegistrationRepository>();
     _registrationConclusion = new RegistrationConclusion(_registrationRepository.Object);
 }
 public void ShouldNotCreateRegistrationWithInvalidValue(decimal invalidValue)
 {
     Assert.Throws <DomainException>(() => RegistrationBuilder.New().WithValue(invalidValue).Build()).WithMessage(Messages.INVALID_VALUE);
 }
        public void ShouldNotCreateRegistrationWithoutCourse()
        {
            Course invalidCourse = null;

            Assert.Throws <DomainException>(() => RegistrationBuilder.New().WithCourse(invalidCourse).Build()).WithMessage(Messages.INVALID_COURSE);
        }
        public void ShouldNotCreateRegistrationWithoutStudent()
        {
            Student invalidStudent = null;

            Assert.Throws <DomainException>(() => RegistrationBuilder.New().WithStudent(invalidStudent).Build()).WithMessage(Messages.INVALID_STUDENT);
        }