public async Task Handle_StateProvincesExists_ReturnStateProvincesForCountry(
            List <Entities.StateProvince> statesProvinces,
            [Frozen] Mock <IRepository <Entities.StateProvince> > stateProvinceRepoMock,
            GetStatesProvincesQueryHandler sut,
            GetStatesProvincesQuery query
            )
        {
            //Arrange
            stateProvinceRepoMock.Setup(x => x.ListAsync(
                                            It.IsAny <GetStatesProvincesForCountrySpecification>(),
                                            It.IsAny <CancellationToken>()
                                            ))
            .ReturnsAsync(statesProvinces);

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

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

            for (int i = 0; i < result.Count; i++)
            {
                result[i].Name.Should().Be(statesProvinces[i].Name);
            }
        }
        public void Handle_NoStateProvincesExists_ThrowException(
            [Frozen] Mock <IRepository <Entities.StateProvince> > stateProvinceRepoMock,
            GetStatesProvincesQueryHandler sut,
            GetStatesProvincesQuery query
            )
        {
            //Arrange
            stateProvinceRepoMock.Setup(x => x.ListAsync(It.IsAny <CancellationToken>()))
            .ReturnsAsync((List <Entities.StateProvince>)null);

            query.CountryRegionCode = "";

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

            //Assert
            func.Should().ThrowAsync <ArgumentNullException>();
            stateProvinceRepoMock.Verify(x => x.ListAsync(It.IsAny <CancellationToken>()));
        }