public async Task FemaleName() { var client = new GenderizeClient(); var result = await client.GetNameGender("Maria"); Assert.AreEqual(Gender.Female, result.Gender); }
public async Task SetFinalGender(string name) { var client = new GenderizeClient(); var result = await client.GetNameGender(name); if (result.Gender.HasValue) { _gender = result.Gender.Value.ToString(); } else { _gender = ""; } }
public async Task CanHandleNullReturns() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When("https://api.genderize.io/") .WithQueryString("name", "hippopotamus") .Respond("application/json", "{\"name\":\"hippopotamus\",\"gender\":null}"); var httpClient = mockHttp.ToHttpClient(); var client = new GenderizeClient(httpClient); var result = await client.GetNameGender("hippopotamus") .ConfigureAwait(false); Assert.IsNull(result.Gender); Assert.AreEqual("hippopotamus", result.Name); }
public async Task CanReadFemaleResponse() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When("https://api.genderize.io/") .WithQueryString("name", "Maria") .Respond("application/json", "{\"name\":\"Test\",\"gender\":\"female\",\"probability\":0.99,\"count\":8402}"); var httpClient = mockHttp.ToHttpClient(); var client = new GenderizeClient(httpClient); var result = await client.GetNameGender("Maria") .ConfigureAwait(false); Assert.AreEqual(Gender.Female, result.Gender); Assert.AreEqual(0.99f, result.Probability); Assert.AreEqual(8402, result.Count); Assert.AreEqual("Test", result.Name); }
public void CanHandleInternalServerErrors() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When("https://api.genderize.io/") .WithQueryString("name", "test") .Respond(HttpStatusCode.InternalServerError, "application/json", "{\"error\":\"Error Message is Here\"}"); var httpClient = mockHttp.ToHttpClient(); var client = new GenderizeClient(httpClient); var exception = Assert.CatchAsync <InternalServerErrorException>(async() => { var result = await client.GetNameGender("test") .ConfigureAwait(false); }); Assert.AreEqual("Error Message is Here", exception.Message); }
public async Task CanSendLanguage() { var mockHttp = new MockHttpMessageHandler(); mockHttp.When("https://api.genderize.io/") .WithQueryString(new Dictionary <string, string> { { "name", "João" }, { "language_id", "pt" } }) .Respond("application/json", "{\"name\":\"Test\",\"gender\":\"male\",\"probability\":1,\"count\":156}"); var httpClient = mockHttp.ToHttpClient(); var client = new GenderizeClient(httpClient); var result = await client.GetNameGender("João", language : "pt") .ConfigureAwait(false); Assert.AreEqual(Gender.Male, result.Gender); Assert.AreEqual(1, result.Probability); Assert.AreEqual(156, result.Count); Assert.AreEqual("Test", result.Name); }