private async Task <Country> Given_ACountry_When_CreateCountryIsInvoked_Then_TheCountryIsReturned()
        {
            var us = new Country
            {
                Alpha2Code      = TestData.UsCountryAlpha2Code,
                CreatedByUserId = TestData.CountryCreatedById,
                CreatedOn       = TestData.NonServiceGeneratedCountryCreatedOn,
                Id = TestData.NonServiceGeneratedCountryId,
                LastUpdatedByUserId = TestData.CountryLastUpdatedById,
                LastUpdatedOn       = TestData.NonServiceGeneratedCountryLastUpdatedOn,
                FullName            = TestData.UsCountryName,
                PhoneNumberRegex    = TestData.UsPhoneNumberRegex,
                PostalCodeRegex     = TestData.UsPostalCodeRegex
            };

            try
            {
                var usReturned = await CountriesClient.CreateCountry(us);

                Assert.AreEqual(TestData.UsCountryAlpha2Code, usReturned.Alpha2Code);
                Assert.AreEqual(TestData.CountryCreatedById, usReturned.CreatedByUserId);
                Assert.AreEqual(TestData.UsCountryName, usReturned.FullName);
                Assert.AreNotEqual(TestData.NonServiceGeneratedCountryCreatedOn, usReturned.CreatedOn);
                Assert.AreNotEqual(TestData.NonServiceGeneratedCountryId, usReturned.Id);
                Assert.IsNull(usReturned.LastUpdatedByUserId);
                Assert.IsNull(usReturned.LastUpdatedOn);
                Assert.AreEqual(TestData.UsPhoneNumberRegex, usReturned.PhoneNumberRegex);
                Assert.AreEqual(TestData.UsPostalCodeRegex, usReturned.PostalCodeRegex);

                us = usReturned;
            }
            catch (Exception e)
            {
                Assert.Fail($"{e.Message}\n{e.StackTrace}");
            }

            return(us);
        }