using BigRegister.Domain.Diplomas; namespace BigRegister.Tests.Domain; public class DiplomaRuleTests { private static Diploma Diploma(string opleiding, bool engelstalig) => new("x", "naam", "instelling", 2011, opleiding, engelstalig); [Theory] [InlineData("geneeskunde", "Arts")] [InlineData("verpleegkunde", "Verpleegkundige")] [InlineData("onbekend-programma", "Onbekend")] public void Profession_is_derived_from_program(string opleiding, string expected) => Assert.Equal(expected, DiplomaRules.ProfessionFor(Diploma(opleiding, false))); [Fact] public void English_diploma_requires_dutch_proficiency() { var questions = DiplomaRules.QuestionsFor(Diploma("geneeskunde", engelstalig: true)); Assert.Single(questions); Assert.Equal("nl-taalvaardigheid", questions[0].Id); } [Fact] public void Dutch_diploma_has_no_policy_questions() => Assert.Empty(DiplomaRules.QuestionsFor(Diploma("geneeskunde", engelstalig: false))); [Fact] public void Manual_diploma_gets_maximal_set() { var questions = DiplomaRules.ManualQuestions(); Assert.Equal(3, questions.Count); Assert.Equal(new[] { "nl-taalvaardigheid", "diploma-erkend", "toelichting" }, questions.Select(q => q.Id)); } [Fact] public void Manual_professions_match_known_programs() => Assert.Equal(new[] { "Arts", "Verpleegkundige", "Fysiotherapeut", "Apotheker", "Tandarts" }, DiplomaRules.ManualProfessions()); }