Skip to content

Commit 0752f9c

Browse files
committed
Added 14 NameParser tests by country.
1 parent 452aa92 commit 0752f9c

14 files changed

+1045
-0
lines changed
Lines changed: 87 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,87 @@
1+
package org.nameapi.client.services.parser.personnameparser;
2+
3+
import com.optimaize.command4j.CommandExecutor;
4+
import com.optimaize.command4j.Mode;
5+
import org.nameapi.client.lib.NameApiRemoteExecutors;
6+
import org.nameapi.client.services.AbstractTest;
7+
import org.nameapi.client.services.FunctionalTestsNameApiModeFactory;
8+
import org.nameapi.ontology5.input.entities.person.NaturalInputPerson;
9+
import org.nameapi.ontology5.input.entities.person.NaturalInputPersonBuilder;
10+
import org.nameapi.ontology5.input.entities.person.gender.ComputedPersonGender;
11+
import org.nameapi.ontology5.input.entities.person.name.builder.WesternInputPersonNameBuilder;
12+
import org.nameapi.ontology5.output.entities.person.name.OutputPersonName;
13+
import org.nameapi.ontology5.output.entities.person.name.TermType;
14+
import org.nameapi.ontology5.services.parser.personnameparser.ParsedPerson;
15+
import org.nameapi.ontology5.services.parser.personnameparser.PersonNameParserResult;
16+
import org.testng.annotations.DataProvider;
17+
import org.testng.annotations.Test;
18+
19+
import static org.testng.Assert.assertEquals;
20+
21+
/**
22+
* @author Nicole Torres
23+
*/
24+
public class EE_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_EE_1")
29+
public void test_EE_1(NaturalInputPerson inputPerson) throws Exception {
30+
PersonNameParserCommand command = new PersonNameParserCommand();
31+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
32+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
33+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
34+
OutputPersonName personName = parsedPerson.getOutputPersonName();
35+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "Eliise");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Tamm");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_EE_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Eliise Tamm").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Eliise").surname("Tamm").build()).build()}
44+
};
45+
}
46+
47+
@Test(dataProvider = "test_EE_2")
48+
public void test_EE_2(NaturalInputPerson inputPerson) throws Exception {
49+
PersonNameParserCommand command = new PersonNameParserCommand();
50+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
51+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
52+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
53+
OutputPersonName personName = parsedPerson.getOutputPersonName();
54+
assertEquals(personName.getFirst(TermType.SALUTATION).get().getString(), "Proua");
55+
assertEquals(personName.getFirst(TermType.GIVENNAMEINITIAL).get().getString(), "E.");
56+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Tamm");
57+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
58+
}
59+
@DataProvider
60+
protected Object[][] test_EE_2() {
61+
return new Object[][]{
62+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Proua E. Tamm").build()).build()},
63+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Proua E.").surname("Tamm").build()).build()}
64+
};
65+
}
66+
67+
@Test(dataProvider = "test_EE_3")
68+
public void test_EE_3(NaturalInputPerson inputPerson) throws Exception {
69+
PersonNameParserCommand command = new PersonNameParserCommand();
70+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
71+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
72+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
73+
OutputPersonName personName = parsedPerson.getOutputPersonName();
74+
assertEquals(personName.getFirst(TermType.SALUTATION).get().getString(), "Proua");
75+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "Eliise");
76+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Tamm");
77+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
78+
}
79+
@DataProvider
80+
protected Object[][] test_EE_3() {
81+
return new Object[][]{
82+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Proua Eliise Tamm").build()).build()},
83+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Proua Eliise").surname("Tamm").build()).build()}
84+
};
85+
}
86+
87+
}
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
package org.nameapi.client.services.parser.personnameparser;
2+
3+
import com.optimaize.command4j.CommandExecutor;
4+
import com.optimaize.command4j.Mode;
5+
import org.nameapi.client.lib.NameApiRemoteExecutors;
6+
import org.nameapi.client.services.AbstractTest;
7+
import org.nameapi.client.services.FunctionalTestsNameApiModeFactory;
8+
import org.nameapi.ontology5.input.entities.person.NaturalInputPerson;
9+
import org.nameapi.ontology5.input.entities.person.NaturalInputPersonBuilder;
10+
import org.nameapi.ontology5.input.entities.person.gender.ComputedPersonGender;
11+
import org.nameapi.ontology5.input.entities.person.name.builder.WesternInputPersonNameBuilder;
12+
import org.nameapi.ontology5.output.entities.person.name.OutputPersonName;
13+
import org.nameapi.ontology5.output.entities.person.name.TermType;
14+
import org.nameapi.ontology5.services.parser.personnameparser.ParsedPerson;
15+
import org.nameapi.ontology5.services.parser.personnameparser.PersonNameParserResult;
16+
import org.testng.annotations.DataProvider;
17+
import org.testng.annotations.Test;
18+
19+
import static org.testng.Assert.assertEquals;
20+
21+
/**
22+
* @author Nicole Torres
23+
*/
24+
public class ES_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_ES_1")
29+
public void test_ES_1(NaturalInputPerson inputPerson) throws Exception {
30+
PersonNameParserCommand command = new PersonNameParserCommand();
31+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
32+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
33+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
34+
OutputPersonName personName = parsedPerson.getOutputPersonName();
35+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "José");
36+
assertEquals(personName.getSecond(TermType.GIVENNAME).get().getString(), "Maria");
37+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Fernández");
38+
assertEquals(personName.getSecond(TermType.SURNAME).get().getString(), "de la Torre");
39+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
40+
}
41+
@DataProvider
42+
protected Object[][] test_ES_1() {
43+
return new Object[][]{
44+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("José Maria Fernández de la Torre").build()).build()},
45+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("José Maria").surname("Fernández de la Torre").build()).build()}
46+
};
47+
}
48+
49+
@Test(dataProvider = "test_ES_2")
50+
public void test_ES_2(NaturalInputPerson inputPerson) throws Exception {
51+
PersonNameParserCommand command = new PersonNameParserCommand();
52+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
53+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
54+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
55+
OutputPersonName personName = parsedPerson.getOutputPersonName();
56+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "María de los Ángeles");
57+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "López");
58+
assertEquals(personName.getSecond(TermType.SURNAME).get().getString(), "Sánchez");
59+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
60+
}
61+
@DataProvider
62+
protected Object[][] test_ES_2() {
63+
return new Object[][]{
64+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("María de los Ángeles López Sánchez").build()).build()},
65+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("María de los Ángeles").surname("López Sánchez").build()).build()}
66+
};
67+
}
68+
69+
@Test(dataProvider = "test_ES_3")
70+
public void test_ES_3(NaturalInputPerson inputPerson) throws Exception {
71+
PersonNameParserCommand command = new PersonNameParserCommand();
72+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
73+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
74+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
75+
OutputPersonName personName = parsedPerson.getOutputPersonName();
76+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "José");
77+
assertEquals(personName.getSecond(TermType.GIVENNAME).get().getString(), "Maria");
78+
assertEquals(personName.getFirst(TermType.NICKNAME).get().getString(), "Josema");
79+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Fernández");
80+
assertEquals(personName.getSecond(TermType.SURNAME).get().getString(), "de la Torre");
81+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
82+
}
83+
@DataProvider
84+
protected Object[][] test_ES_3() {
85+
return new Object[][]{
86+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("José Maria \"Josema\" Fernández de la Torre").build()).build()},
87+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("José Maria \"Josema\"").surname("Fernández de la Torre").build()).build()}
88+
};
89+
}
90+
91+
}
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
package org.nameapi.client.services.parser.personnameparser;
2+
3+
import com.optimaize.command4j.CommandExecutor;
4+
import com.optimaize.command4j.Mode;
5+
import org.nameapi.client.lib.NameApiRemoteExecutors;
6+
import org.nameapi.client.services.AbstractTest;
7+
import org.nameapi.client.services.FunctionalTestsNameApiModeFactory;
8+
import org.nameapi.ontology5.input.entities.person.NaturalInputPerson;
9+
import org.nameapi.ontology5.input.entities.person.NaturalInputPersonBuilder;
10+
import org.nameapi.ontology5.input.entities.person.gender.ComputedPersonGender;
11+
import org.nameapi.ontology5.input.entities.person.name.builder.WesternInputPersonNameBuilder;
12+
import org.nameapi.ontology5.output.entities.person.name.OutputPersonName;
13+
import org.nameapi.ontology5.output.entities.person.name.TermType;
14+
import org.nameapi.ontology5.services.parser.personnameparser.ParsedPerson;
15+
import org.nameapi.ontology5.services.parser.personnameparser.PersonNameParserResult;
16+
import org.testng.annotations.DataProvider;
17+
import org.testng.annotations.Test;
18+
19+
import static org.testng.Assert.assertEquals;
20+
21+
/**
22+
* @author Nicole Torres
23+
*/
24+
public class FI_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_FI_1")
29+
public void test_FI_1(NaturalInputPerson inputPerson) throws Exception {
30+
PersonNameParserCommand command = new PersonNameParserCommand();
31+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
32+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
33+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
34+
OutputPersonName personName = parsedPerson.getOutputPersonName();
35+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "Väinö");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Johansson");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_FI_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Väinö Johansson").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Väinö").surname("Johansson").build()).build()}
44+
};
45+
}
46+
47+
@Test(dataProvider = "test_FI_2")
48+
public void test_FI_2(NaturalInputPerson inputPerson) throws Exception {
49+
PersonNameParserCommand command = new PersonNameParserCommand();
50+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
51+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
52+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
53+
OutputPersonName personName = parsedPerson.getOutputPersonName();
54+
assertEquals(personName.getFirst(TermType.SALUTATION).get().getString(), "Herra");
55+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "Väinö");
56+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Johansson");
57+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
58+
}
59+
@DataProvider
60+
protected Object[][] test_FI_2() {
61+
return new Object[][]{
62+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Herra Väinö Johansson").build()).build()},
63+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Herra Väinö").surname("Johansson").build()).build()}
64+
};
65+
}
66+
67+
}

0 commit comments

Comments
 (0)