Esempio n. 1
0
        public async Task FemaleName()
        {
            var client = new GenderizeClient();
            var result = await client.GetNameGender("Maria");

            Assert.AreEqual(Gender.Female, result.Gender);
        }
Esempio n. 2
0
        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 = "";
            }
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
0
        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);
        }