From bbaef210b59f525e286e8691f9be702f60ef4883 Mon Sep 17 00:00:00 2001 From: Adam Soos Date: Fri, 4 Oct 2024 15:08:30 +0200 Subject: [PATCH 1/2] WS-3224: add gender --- rosette_api/Gender.cs | 16 ++++++++++++++++ rosette_api/Name.cs | 13 ++++++++++++- rosette_api/rosette_api.csproj | 1 + 3 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 rosette_api/Gender.cs diff --git a/rosette_api/Gender.cs b/rosette_api/Gender.cs new file mode 100644 index 00000000..495fa56d --- /dev/null +++ b/rosette_api/Gender.cs @@ -0,0 +1,16 @@ +using Newtonsoft.Json; +using Newtonsoft.Json.Converters; + +namespace rosette_api +{ + /// + /// Possible gender options for the Name objects + /// + [JsonConverter(typeof(StringEnumConverter))] + public enum Gender + { + Female, + NonBinary, + Male + } +} \ No newline at end of file diff --git a/rosette_api/Name.cs b/rosette_api/Name.cs index eccad8a7..7515f409 100644 --- a/rosette_api/Name.cs +++ b/rosette_api/Name.cs @@ -17,12 +17,14 @@ public class Name /// (string, optional): Language: ISO 639-3 code (ignored for the /language endpoint) /// (string, optional): ISO 15924 code for the name's script /// (string, optional): Entity type of the name: PERSON, LOCATION, or ORGANIZATION - public Name(string Text = null, string Language = null, string Script = null, string EntityType = null) + /// (Gender, optional): gender: Gender of the name: Female, Male, NonBinary + public Name(string Text = null, string Language = null, string Script = null, string EntityType = null, Gender? Gender = null) { text = Text; language = Language; script = Script; entityType = EntityType; + gender = Gender; } /// text @@ -56,5 +58,14 @@ public Name(string Text = null, string Language = null, string Script = null, st /// /// public string entityType { get; set; } + + /// gender + /// + /// Getter, Setter for the gender + /// gender: Gender of the name + /// + /// + public Gender? gender { get; set; } + } } diff --git a/rosette_api/rosette_api.csproj b/rosette_api/rosette_api.csproj index 0974c02d..38f84b34 100644 --- a/rosette_api/rosette_api.csproj +++ b/rosette_api/rosette_api.csproj @@ -61,6 +61,7 @@ + From 1ede537262cc995ada396a3908601a16b7fe3c3f Mon Sep 17 00:00:00 2001 From: Adam Soos Date: Mon, 7 Oct 2024 08:28:15 +0200 Subject: [PATCH 2/2] WS-3270: update test --- rosette_apiUnitTests/rosette_apiUnitTests.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rosette_apiUnitTests/rosette_apiUnitTests.cs b/rosette_apiUnitTests/rosette_apiUnitTests.cs index 367b2c69..06e7db3c 100755 --- a/rosette_apiUnitTests/rosette_apiUnitTests.cs +++ b/rosette_apiUnitTests/rosette_apiUnitTests.cs @@ -1175,7 +1175,7 @@ public void NameSimilarityTestFull() String mockedContent = expected.ContentToString(); HttpResponseMessage mockedMessage = MakeMockedMessage(responseHeaders, HttpStatusCode.OK, mockedContent); _mockHttp.When(_testUrl + "name-similarity").Respond(req => mockedMessage); - NameSimilarityResponse response = _rosetteApi.NameSimilarity(new Name("Влади́мир Влади́мирович Пу́тин", "rus", null, "PERSON"), new Name("Vladmir Putin", "eng", null, "PERSON")); + NameSimilarityResponse response = _rosetteApi.NameSimilarity(new Name("Влади́мир Влади́мирович Пу́тин", "rus", null, "PERSON", Gender.Male), new Name("Vladmir Putin", "eng", null, "PERSON")); Assert.AreEqual(expected, response); }