Skip to content

Commit dcce058

Browse files
committed
Added 11 new NameParser tests by country.
1 parent 95e794b commit dcce058

11 files changed

+677
-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.AmericanInputPersonNameBuilder;
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 RU_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_RU_1")
29+
public void test_RU_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(), "Lev");
36+
assertEquals(personName.getFirst(TermType.MIDDLENAME).get().getString(), "Nikolayevich");
37+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Tolstoy");
38+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
39+
}
40+
@DataProvider
41+
protected Object[][] test_RU_1() {
42+
return new Object[][]{
43+
{new NaturalInputPersonBuilder().name(new AmericanInputPersonNameBuilder().fullname("Lev Nikolayevich Tolstoy").build()).build()},
44+
{new NaturalInputPersonBuilder().name(new AmericanInputPersonNameBuilder().givenName("Lev").middleName("Nikolayevich").surname("Tolstoy").build()).build()},
45+
};
46+
}
47+
48+
@Test(dataProvider = "test_RU_2")
49+
public void test_RU_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.getFirst(TermType.MIDDLENAME).get().getString(), "Николаевич");
57+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Толстой");
58+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
59+
}
60+
@DataProvider
61+
protected Object[][] test_RU_2() {
62+
return new Object[][]{
63+
{new NaturalInputPersonBuilder().name(new AmericanInputPersonNameBuilder().fullname("Лев Николаевич Толстой").build()).build()},
64+
{new NaturalInputPersonBuilder().name(new AmericanInputPersonNameBuilder().givenName("Лев").middleName("Николаевич").surname("Толстой").build()).build()},
65+
};
66+
}
67+
68+
}
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
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 SE_PersonNameParserCommandTest extends AbstractTest {
28+
29+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
30+
31+
@Test(dataProvider = "test_SE_1")
32+
public void test_SE_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+
39+
List<Term> givenNames = personName.getAll(TermType.GIVENNAME);
40+
assertEquals(givenNames.size(), 3);
41+
assertEquals(givenNames.get(0).getString(), "Maud");
42+
assertEquals(givenNames.get(1).getString(), "Solveig");
43+
assertEquals(givenNames.get(2).getString(), "Christina");
44+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Wikström");
45+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
46+
}
47+
@DataProvider
48+
protected Object[][] test_SE_1() {
49+
return new Object[][]{
50+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Maud Solveig Christina Wikström").build()).build()},
51+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Maud Solveig Christina").surname("Wikström").build()).build()},
52+
};
53+
}
54+
55+
}
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 SI_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_SI_1")
29+
public void test_SI_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(), "Žiga");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Kovačič");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_SI_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Žiga Kovačič").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Žiga").surname("Kovačič").build()).build()},
44+
};
45+
}
46+
47+
}
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 TH_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_TH_1")
29+
public void test_TH_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(), "Somchai");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Tinsulanonda");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_TH_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Somchai Tinsulanonda").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Somchai").surname("Tinsulanonda").build()).build()},
44+
};
45+
}
46+
47+
}
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 TJ_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_TJ_1")
29+
public void test_TJ_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(), "Firuza");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Rustamzod");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_TJ_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Firuza Rustamzod").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Firuza").surname("Rustamzod").build()).build()},
44+
};
45+
}
46+
47+
}
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 TM_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_TM_1")
29+
public void test_TM_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(), "Balyş");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Öwezow");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.MALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_TM_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Balyş Öwezow").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Balyş").surname("Öwezow").build()).build()},
44+
};
45+
}
46+
47+
}
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 TR_PersonNameParserCommandTest extends AbstractTest {
25+
26+
private final CommandExecutor executor = NameApiRemoteExecutors.get();
27+
28+
@Test(dataProvider = "test_TR_1")
29+
public void test_TR_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(), "Ayşe");
36+
assertEquals(personName.getFirst(TermType.SURNAME).get().getString(), "Öztürk");
37+
assertEquals(parsedPerson.getGender().getGender(), ComputedPersonGender.FEMALE);
38+
}
39+
@DataProvider
40+
protected Object[][] test_TR_1() {
41+
return new Object[][]{
42+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().fullname("Ayşe Öztürk").build()).build()},
43+
{new NaturalInputPersonBuilder().name(new WesternInputPersonNameBuilder().givenName("Ayşe").surname("Öztürk").build()).build()},
44+
};
45+
}
46+
47+
}

0 commit comments

Comments
 (0)