public async void CountriesService_On_GetCountriesAsync_Throw_Member_Access_Exception_If_Workflow_Is_Null_Expect_True()
        {
            CoreCountriesService service = new CoreCountriesService(
                new HRCoreCountriesRepositoryStub(null, null),
                new LanguageRepositoryStub(),
                null,
                null,
                null,
                null);
            bool exceptionThrown = false;

            try
            {
                using (Task <PagingParameterOutModel <HRCountry> > retour = service.GetCountriesAsync(new PagingParameterInModel(), new HRSortingParamModel()))
                {
                    await retour;
                }
            }
            catch (MemberAccessException)
            {
                exceptionThrown = true;
            }
            catch (Exception)
            {
                //Dummy.
            }
            Assert.True(exceptionThrown);
        }
        public async void CountriesService_On_GetBCountriesAsync_Without_Country_ID_Return_Repository_Result_Without_Extra_Processing_Expect_True()
        {
            HRCoreCountriesRepositoryStub repository = new HRCoreCountriesRepositoryStub(new List <string>()
            {
                "aa", "bb", "cc"
            }, "aa");
            CoreCountriesService service = new CoreCountriesService(
                repository,
                new LanguageRepositoryStub(),
                new HRServiceWorkflowPaginationOnly <HRCountry>(
                    repository,
                    new HRPaginer <HRCountry>()),
                null,
                null,
                null
                );
            PagingParameterInModel pageModel = new PagingParameterInModel()
            {
                PageNumber = 0, PageSize = 10
            };

            using (Task <PagingParameterOutModel <HRCountry> > repoResult = service.GetCountriesAsync(pageModel, null))
            {
                await repoResult;
                Assert.NotNull(repoResult.Result);
                IEnumerator <HRCountry> enumerator = repoResult.Result.PageItems.GetEnumerator();
                int    i  = 0;
                String id = String.Empty;
                while (enumerator.MoveNext())
                {
                    Assert.NotNull(enumerator.Current);
                    if (i == 0)
                    {
                        id = "aa";
                    }
                    else if (i == 1)
                    {
                        id = "bb";
                    }
                    else if (i == 2)
                    {
                        id = "cc";
                    }
                    Assert.True(enumerator.Current.Alpha2Code == id);
                    i++;
                }
                Assert.True(i == 3);
            }
        }
        public async void CountriesService_On_GetCountriesAsync_Throw_MemberAccessException_If_CountryRepository_Is_Null_ExpectTrue()
        {
            bool exceptionThrown = false;

            try
            {
                using (Task <PagingParameterOutModel <HRCountry> > retour = _serviceWithNullParameters.GetCountriesAsync(new PagingParameterInModel(), new HRSortingParamModel()))
                {
                    await retour;
                }
            }
            catch (MemberAccessException)
            {
                exceptionThrown = true;
            }
            catch (Exception)
            {
                //Dummy.
            }
            Assert.True(exceptionThrown);
        }