using Jiaowu.Api.Domain.Academic; using Jiaowu.Api.Infrastructure.Graduation; namespace Jiaowu.Api.Tests; public sealed class DegreeAwardRulesTests { [Fact] public void Eligible_student_meeting_gpa_requirement_is_granted() { var conclusion = DegreeAwardRules.Evaluate( true, 3.12m, 2.0m); Assert.Equal(DegreeAwardConclusion.Granted, conclusion); } [Theory] [InlineData(false, 3.12, 2.0)] [InlineData(true, 1.99, 2.0)] public void Missing_prerequisite_prevents_degree_award( bool graduationEligible, decimal averageGradePoint, decimal minimumGradePoint) { var conclusion = DegreeAwardRules.Evaluate( graduationEligible, averageGradePoint, minimumGradePoint); Assert.Equal(DegreeAwardConclusion.NotGranted, conclusion); } }