public void CannotFindKindervriend()
        {
            // Arrange
            var handler = new KindervriendQueryHandlerBuilder().Build();

            // Act
            Action zoekKindervriend = () => handler.ExecuteQuery("Boeman");

            // Assert
            zoekKindervriend.Should().Throw <Exception>()
            .WithMessage("Wie is de Boeman?!!11!");
        }
        public void CannotFindKindervriend_MockBlacklist()
        {
            // Arrange
            var handler = new KindervriendQueryHandlerBuilder()
                          .WithBlacklist(new Blacklist {
                "DIT-IS-GEEN-KINDERVRIEND"
            })                                                             // <== hier kun je dus ook eventuele andere mocks gemaakt met Moq doorgeven
                          .Build();

            // Act
            Action act = () => handler.ExecuteQuery("DIT-IS-GEEN-KINDERVRIEND");

            // Assert
            act.Should().Throw <Exception>()
            .WithMessage("Wie is de DIT-IS-GEEN-KINDERVRIEND?!!11!");
        }
        public void CanFindPerson_MaarWeZijnEchtAlleenInDeNaamGeinteresseerd()
        {
            // Arrange
            var handler = new KindervriendQueryHandlerBuilder().Build(); // <== BUILDER voor de SUT

            // Act
            var actual = handler.ExecuteQuery("Sinterklaas");

            // Assert
            // Gebruik een builder zodat je alleen de relevante properties specificeert
            // Zodat je ook alleen maar die aspecten ziet in de test waar het om gaat.
            // We willen weten of de naam klopt. Andere aspecten boeit on (hier) niet.
            var expectedKindervriend = new KindervriendBuilder()
                                       .WithName("Sinterklaas")
                                       .Build(); // <== BUILDER voor objecten die je in test gebruikt

            // Bij testen kun je aangeven waar test naar moet kijken
            // Gebruik options om alleen te asserten op wat relevant is
            actual.Should().BeEquivalentTo(expectedKindervriend, options => options.Including(x => x.Name));
        }