Skip to content

Commit 9055e2f

Browse files
committed
Added 9 NameParser tests by country.
1 parent 0c4201f commit 9055e2f

9 files changed

+627
-0
lines changed
Lines changed: 68 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,68 @@
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 IR_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_IR_1")
29+
public void test_IR_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(), "Anousheh");
36+
assertEquals(personName.getSecond(TermType.GIVENNAME).get().getString(), "Fatimah");
37+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Madani");
38+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
39+
}
40+
@DataProvider
41+
protected Object[][] test_IR_1() {
42+
return new Object[][]{
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Anousheh Fatimah Madani").build()).build()},
44+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Anousheh Fatimah").surname("Madani").build()).build()}
45+
};
46+
}
47+
48+
@Test(dataProvider = "test_IR_2")
49+
public void test_IR_2(NaturalInputPerson inputPerson) throws Exception {
50+
PersonNameParserCommand command = new PersonNameParserCommand();
51+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
52+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
53+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
54+
OutputPersonName personName = parsedPerson.getOutputPersonName();
55+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "انوشه");
56+
assertEquals(personName.getSecond(TermType.GIVENNAME).get().getString(), "فاطمة");
57+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "مدنى");
58+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
59+
}
60+
@DataProvider
61+
protected Object[][] test_IR_2() {
62+
return new Object[][]{
63+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("انوشه فاطمة مدنى").build()).build()},
64+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("انوشه فاطمة").surname("مدنى").build()).build()}
65+
};
66+
}
67+
68+
}
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
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 IS_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_IS_1")
29+
public void test_IS_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(), "Freyja");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Jónsdóttir");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_IS_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Freyja Jónsdóttir").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Freyja").surname("Jónsdóttir").build()).build()}
44+
};
45+
}
46+
47+
}
Lines changed: 75 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,75 @@
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.Term;
14+
import org.nameapi.ontology5.output.entities.person.name.TermType;
15+
import org.nameapi.ontology5.services.parser.personnameparser.ParsedPerson;
16+
import org.nameapi.ontology5.services.parser.personnameparser.PersonNameParserResult;
17+
import org.testng.annotations.DataProvider;
18+
import org.testng.annotations.Test;
19+
20+
import java.util.List;
21+
22+
import static org.testng.Assert.assertEquals;
23+
24+
/**
25+
* @author Nicole Torres
26+
*/
27+
public class IT_PersonNameParserCommandTest extends AbstractTest {
28+
29+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
30+
31+
@Test(dataProvider = "test_IT_1")
32+
public void test_IT_1(NaturalInputPerson inputPerson) throws Exception {
33+
PersonNameParserCommand command = new PersonNameParserCommand();
34+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
35+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
36+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
37+
OutputPersonName personName = parsedPerson.getOutputPersonName();
38+
List<Term> givenNames = personName.getAll(TermType.GIVENNAME);
39+
assertEquals(givenNames.get(0).getString(), "Marcello");
40+
assertEquals(givenNames.get(1).getString(), "Vincenzo");
41+
assertEquals(givenNames.get(2).getString(), "Domenico");
42+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Mastroianni");
43+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
44+
}
45+
@DataProvider
46+
protected Object[][] test_IT_1() {
47+
return new Object[][]{
48+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Marcello Vincenzo Domenico Mastroianni").build()).build()},
49+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Marcello Vincenzo Domenico").surname("Mastroianni").build()).build()}
50+
};
51+
}
52+
53+
@Test(dataProvider = "test_IT_2")
54+
public void test_IT_2(NaturalInputPerson inputPerson) throws Exception {
55+
PersonNameParserCommand command = new PersonNameParserCommand();
56+
Mode mode = FunctionalTestsNameApiModeFactory.functionalTest();
57+
PersonNameParserResult result = executor.execute(command, mode, inputPerson).get();
58+
ParsedPerson parsedPerson = result.getBestMatch().getParsedPerson();
59+
OutputPersonName personName = parsedPerson.getOutputPersonName();
60+
List<Term> givenNames = personName.getAll(TermType.GIVENNAME);
61+
assertEquals(givenNames.get(0).getString(), "Marcello");
62+
assertEquals(givenNames.get(1).getString(), "Vincenzo");
63+
assertEquals(givenNames.get(2).getString(), "Domenico");
64+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Mastroianni");
65+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
66+
}
67+
@DataProvider
68+
protected Object[][] test_IT_2() {
69+
return new Object[][]{
70+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Marcello Vincenzo Domenico Mastroianni").build()).build()},
71+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Marcello Vincenzo Domenico").surname("Mastroianni").build()).build()}
72+
};
73+
}
74+
75+
}
Lines changed: 104 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,104 @@
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 JP_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_JP_1")
29+
public void test_JP_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(), "武");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "山元");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_JP_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("山元武").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("武").surname("山元").build()).build()}
44+
};
45+
}
46+
47+
@Test(dataProvider = "test_JP_2")
48+
public void test_JP_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(), "Takeshi");
55+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Yamamoto");
56+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
57+
}
58+
@DataProvider
59+
protected Object[][] test_JP_2() {
60+
return new Object[][]{
61+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Yamamoto Takeshi").build()).build()},
62+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Takeshi").surname("Yamamoto").build()).build()}
63+
};
64+
}
65+
66+
@Test(dataProvider = "test_JP_3")
67+
public void test_JP_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(), "たけし");
74+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "やまもと");
75+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
76+
}
77+
@DataProvider
78+
protected Object[][] test_JP_3() {
79+
return new Object[][]{
80+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("やまもと たけし").build()).build()},
81+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("たけし").surname("やまもと").build()).build()}
82+
};
83+
}
84+
85+
@Test(dataProvider = "test_JP_4")
86+
public void test_JP_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+
OutputPersonName personName = parsedPerson.getOutputPersonName();
92+
assertEquals(personName.getFirst(TermType.GIVENNAME).get().getString(), "タケシ");
93+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "ヤマモト");
94+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
95+
}
96+
@DataProvider
97+
protected Object[][] test_JP_4() {
98+
return new Object[][]{
99+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("ヤマモト タケシ").build()).build()},
100+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("タケシ").surname("ヤマモト").build()).build()}
101+
};
102+
}
103+
104+
}

0 commit comments

Comments
 (0)