public void Handle_NoContactTypesExists_ThrowException(
            [Frozen] Mock <IRepository <Entities.ContactType> > contactTypeRepoMock,
            GetContactTypesQueryHandler sut,
            GetContactTypesQuery query
            )
        {
            //Arrange
            contactTypeRepoMock.Setup(x => x.ListAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync((List <Entities.ContactType>)null);

            //Act
            Func <Task> func = async() => await sut.Handle(query, CancellationToken.None);

            //Assert
            func.Should().ThrowAsync <ArgumentNullException>();
            contactTypeRepoMock.Verify(x => x.ListAsync(It.IsAny <CancellationToken>()));
        }
        public async Task Handle_ContactTypesExists_ReturnContactTypes(
            List <Entities.ContactType> contactTypes,
            [Frozen] Mock <IRepository <Entities.ContactType> > contactTypeRepoMock,
            GetContactTypesQueryHandler sut,
            GetContactTypesQuery query
            )
        {
            //Arrange
            contactTypeRepoMock.Setup(x => x.ListAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync(contactTypes);

            //Act
            var result = await sut.Handle(query, CancellationToken.None);

            //Assert
            result.Should().NotBeNull();
            contactTypeRepoMock.Verify(x => x.ListAsync(It.IsAny <CancellationToken>()));

            for (int i = 0; i < result.Count; i++)
            {
                result[i].Name.Should().Be(contactTypes[i].Name);
            }
        }