Skip to content

Commit 95e794b

Browse files
committed
Added 12 NameParser tests by country.
1 parent 9055e2f commit 95e794b

12 files changed

+890
-0
lines changed
Lines changed: 111 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,111 @@
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 LT_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_LT_1")
29+
public void test_LT_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(), "Jokūbas");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Paulauskas");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_LT_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Jokūbas Paulauskas").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Jokūbas").surname("Paulauskas").build()).build()}
44+
};
45+
}
46+
47+
@Test(dataProvider = "test_LT_2")
48+
public void test_LT_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.GIVENNAME).get().getString(), "Robertas");
55+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Antinis");
56+
assertEquals(personName.getFirst(TermType.QUALIFIER).get().getString(), "jr.");
57+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
58+
}
59+
@DataProvider
60+
protected Object[][] test_LT_2() {
61+
return new Object[][]{
62+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Robertas Antinis Jr.").build()).build()},
63+
};
64+
}
65+
66+
@Test(dataProvider = "test_LT_3")
67+
public void test_LT_3(NaturalInputPerson inputPerson) throws Exception {
68+
PersonNameParserCommand command = new PersonNameParserCommand();
69+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
70+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
71+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
72+
OutputPersonName personName = parsedPerson.getOutputPersonName();
73+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "Viltė");
74+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Paulauskienė");
75+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
76+
}
77+
@DataProvider
78+
protected Object[][] test_LT_3 () {
79+
return new Object[][]{
80+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Viltė Paulauskienė").build()).build()},
81+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Viltė").surname("Paulauskienė").build()).build()}
82+
};
83+
}
84+
85+
@Test(dataProvider = "test_LT_4")
86+
public void test_LT_4(NaturalInputPerson inputPerson) throws Exception {
87+
PersonNameParserCommand command = new PersonNameParserCommand();
88+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
89+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
90+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
91+
92+
/* when there are MULTIPLE people the service returns a list of ParsedPerson */
93+
ParsedPerson firstPerson = parsedPerson.getPeople().get(0);
94+
assertEquals(firstPerson.getOutputPersonName().getFirst(TermType.GIVENNAME).get().getString(), "Jokūbas");
95+
assertEquals(firstPerson.getOutputPersonName().getFirst(TermType.SURNAME).get().getString(), "Paulauskas");
96+
assertEquals(firstPerson.getGender().getGender(), ComputedPersonGender.MALE);
97+
98+
ParsedPerson secondPerson = parsedPerson.getPeople().get(1);
99+
assertEquals(secondPerson.getOutputPersonName().getFirst(TermType.GIVENNAME).get().getString(), "Dominykas");
100+
assertEquals(secondPerson.getOutputPersonName().getFirst(TermType.SURNAME).get().getString(), "Paulauskas");
101+
assertEquals(secondPerson.getGender().getGender(), ComputedPersonGender.MALE);
102+
}
103+
@DataProvider
104+
protected Object[][] test_LT_4 () {
105+
return new Object[][]{
106+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Jokūbas ir Dominykas Paulauskas").build()).build()},
107+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Jokūbas ir Dominykas").surname("Paulauskas").build()).build()}
108+
};
109+
}
110+
111+
}
Lines changed: 72 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,72 @@
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 LV_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_LV_1")
29+
public void test_LV_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(), "Artūrs");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Bērziņš");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_LV_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Artūrs Bērziņš").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Artūrs").surname("Bērziņš").build()).build()}
44+
};
45+
}
46+
47+
@Test(dataProvider = "test_LV_2")
48+
public void test_LV_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+
54+
/* when there are MULTIPLE people the service returns a list of ParsedPerson */
55+
ParsedPerson firstPerson = parsedPerson.getPeople().get(0);
56+
assertEquals(firstPerson.getOutputPersonName().getFirst(TermType.GIVENNAME).get().getString(), "Artūrs");
57+
assertEquals(firstPerson.getOutputPersonName().getFirst(TermType.SURNAME).get().getString(), "Bērziņš");
58+
assertEquals(firstPerson.getGender().getGender(), ComputedPersonGender.MALE);
59+
60+
ParsedPerson secondPerson = parsedPerson.getPeople().get(1);
61+
assertEquals(secondPerson.getOutputPersonName().getFirst(TermType.GIVENNAME).get().getString(), "Emīlija");
62+
assertEquals(secondPerson.getOutputPersonName().getFirst(TermType.SURNAME).get().getString(), "Bērziņa");
63+
assertEquals(secondPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
64+
}
65+
@DataProvider
66+
protected Object[][] test_LV_2() {
67+
return new Object[][]{
68+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Artūrs Bērziņš un Emīlija Bērziņa").build()).build()},
69+
};
70+
}
71+
72+
}
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
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 ME_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_ME_1")
29+
public void test_ME_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(), "Milica");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Medojević");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_ME_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Milica Medojević").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Milica").surname("Medojević").build()).build()}
44+
};
45+
}
46+
47+
@Test(dataProvider = "test_ME_2")
48+
public void test_ME_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+
54+
/* when there are MULTIPLE people the service returns a list of ParsedPerson */
55+
ParsedPerson firstPerson = parsedPerson.getPeople().get(0);
56+
assertEquals(firstPerson.getOutputPersonName().getFirst(TermType.GIVENNAME).get().getString(), "Milica");
57+
assertEquals(firstPerson.getOutputPersonName().getFirst(TermType.SURNAME).get().getString(), "Medojević");
58+
assertEquals(firstPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
59+
60+
ParsedPerson secondPerson = parsedPerson.getPeople().get(1);
61+
assertEquals(secondPerson.getOutputPersonName().getFirst(TermType.GIVENNAME).get().getString(), "Anđela");
62+
assertEquals(secondPerson.getOutputPersonName().getFirst(TermType.SURNAME).get().getString(), "Medojević");
63+
assertEquals(secondPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
64+
}
65+
@DataProvider
66+
protected Object[][] test_ME_2() {
67+
return new Object[][]{
68+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Milica y Anđela Medojević").build()).build()},
69+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Milica y Anđela").surname("Medojević").build()).build()}
70+
};
71+
}
72+
73+
}
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
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 MK_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_MK_1")
29+
public void test_MK_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(), "Dimo");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Todorovski");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_MK_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Dimo Todorovski").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Dimo").surname("Todorovski").build()).build()}
44+
};
45+
}
46+
47+
@Test(dataProvider = "test_ME_2")
48+
public void test_ME_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.GIVENNAME).get().getString(), "Димо");
55+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Тодоровски");
56+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
57+
}
58+
@DataProvider
59+
protected Object[][] test_ME_2() {
60+
return new Object[][]{
61+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Димо Тодоровски").build()).build()},
62+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Димо").surname("Тодоровски").build()).build()}
63+
};
64+
}
65+
66+
}

0 commit comments

Comments
 (0)