Merge pull request #22 from otavanopisto/master

Support for Finnish locale
This commit is contained in:
Ricky
2014-04-23 11:15:29 +10:00
5 changed files with 1846 additions and 15 deletions
+18 -13
View File
@@ -114,27 +114,31 @@ public class Faker {
return currentValue;
}
public String name() {
List<String> nameFormat = (List<String>) fetch("name.formats");
public String composite(String formatKey, String joiner) {
List<String> format = (List<String>) fetch(formatKey);
String[] nameParts = new String[nameFormat.size()];
for (int i = 0; i < nameParts.length; i++) {
String[] parts = new String[format.size()];
for (int i = 0; i < parts.length; i++) {
// remove leading colon
String methodName = nameFormat.get(i).substring(1);
String methodName = format.get(i).substring(1);
// convert to camel case
methodName = WordUtils.capitalizeFully(methodName, METHOD_NAME_DELIMITERS).replaceAll("_", "");
methodName = methodName.substring(0, 1).toLowerCase() + methodName.substring(1);
try {
nameParts[i] = (String) Faker.class.getDeclaredMethod(methodName, (Class[]) null).invoke(this);
parts[i] = (String) Faker.class.getDeclaredMethod(methodName, (Class[]) null).invoke(this);
} catch (Exception e) {
e.printStackTrace();
throw new RuntimeException(e);
}
}
String name = StringUtils.join(nameParts, " ");
return name;
String result = StringUtils.join(parts, joiner);
return result;
}
public String name() {
return composite("name.formats", " ");
}
public String firstName() {
@@ -214,14 +218,15 @@ public class Faker {
// address
public String streetName() {
List<String> possibleStreetNames = new ArrayList<String>();
possibleStreetNames.add(join(new Object[] { lastName(), streetSuffix() }, " "));
possibleStreetNames.add(join(new Object[] { firstName(), streetSuffix() }, " "));
return possibleStreetNames.get(nextInt(possibleStreetNames.size()));
return composite("address.street_name_formats", (String)fetchObject("address.street_name_joiner"));
}
public String streetAddressNumber() {
return fetchString("address.street_address");
}
public String streetAddress(boolean includeSecondary) {
String streetAddress = fetchString("address.street_address") + " " + streetName();
String streetAddress = composite("address.street_formats", " ");
if (includeSecondary) {
streetAddress = streetAddress + " " + secondaryAddress();
}
+12
View File
@@ -6,6 +6,18 @@ en:
country: [Afghanistan, Albania, Algeria, American Samoa, Andorra, Angola, Anguilla, Antarctica (the territory South of 60 deg S), Antigua and Barbuda, Argentina, Armenia, Aruba, Australia, Austria, Azerbaijan, Bahamas, Bahrain, Bangladesh, Barbados, Belarus, Belgium, Belize, Benin, Bermuda, Bhutan, Bolivia, Bosnia and Herzegovina, Botswana, Bouvet Island (Bouvetoya), Brazil, British Indian Ocean Territory (Chagos Archipelago), British Virgin Islands, Brunei Darussalam, Bulgaria, Burkina Faso, Burundi, Cambodia, Cameroon, Canada, Cape Verde, Cayman Islands, Central African Republic, Chad, Chile, China, Christmas Island, Cocos (Keeling) Islands, Colombia, Comoros, Congo, Congo, Cook Islands, Costa Rica, Cote d'Ivoire, Croatia, Cuba, Cyprus, Czech Republic, Denmark, Djibouti, Dominica, Dominican Republic, Ecuador, Egypt, El Salvador, Equatorial Guinea, Eritrea, Estonia, Ethiopia, Faroe Islands, Falkland Islands (Malvinas), Fiji, Finland, France, French Guiana, French Polynesia, French Southern Territories, Gabon, Gambia, Georgia, Germany, Ghana, Gibraltar, Greece, Greenland, Grenada, Guadeloupe, Guam, Guatemala, Guernsey, Guinea, Guinea-Bissau, Guyana, Haiti, Heard Island and McDonald Islands, Holy See (Vatican City State), Honduras, Hong Kong, Hungary, Iceland, India, Indonesia, Iran, Iraq, Ireland, Isle of Man, Israel, Italy, Jamaica, Japan, Jersey, Jordan, Kazakhstan, Kenya, Kiribati, Korea, Korea, Kuwait, Kyrgyz Republic, Lao People's Democratic Republic, Latvia, Lebanon, Lesotho, Liberia, Libyan Arab Jamahiriya, Liechtenstein, Lithuania, Luxembourg, Macao, Macedonia, Madagascar, Malawi, Malaysia, Maldives, Mali, Malta, Marshall Islands, Martinique, Mauritania, Mauritius, Mayotte, Mexico, Micronesia, Moldova, Monaco, Mongolia, Montenegro, Montserrat, Morocco, Mozambique, Myanmar, Namibia, Nauru, Nepal, Netherlands Antilles, Netherlands, New Caledonia, New Zealand, Nicaragua, Niger, Nigeria, Niue, Norfolk Island, Northern Mariana Islands, Norway, Oman, Pakistan, Palau, Palestinian Territory, Panama, Papua New Guinea, Paraguay, Peru, Philippines, Pitcairn Islands, Poland, Portugal, Puerto Rico, Qatar, Reunion, Romania, Russian Federation, Rwanda, Saint Barthelemy, Saint Helena, Saint Kitts and Nevis, Saint Lucia, Saint Martin, Saint Pierre and Miquelon, Saint Vincent and the Grenadines, Samoa, San Marino, Sao Tome and Principe, Saudi Arabia, Senegal, Serbia, Seychelles, Sierra Leone, Singapore, Slovakia (Slovak Republic), Slovenia, Solomon Islands, Somalia, South Africa, South Georgia and the South Sandwich Islands, Spain, Sri Lanka, Sudan, Suriname, Svalbard & Jan Mayen Islands, Swaziland, Sweden, Switzerland, Syrian Arab Republic, Taiwan, Tajikistan, Tanzania, Thailand, Timor-Leste, Togo, Tokelau, Tonga, Trinidad and Tobago, Tunisia, Turkey, Turkmenistan, Turks and Caicos Islands, Tuvalu, Uganda, Ukraine, United Arab Emirates, United Kingdom, United States of America, United States Minor Outlying Islands, United States Virgin Islands, Uruguay, Uzbekistan, Vanuatu, Venezuela, Vietnam, Wallis and Futuna, Western Sahara, Yemen, Zambia, Zimbabwe]
street_address: ['#####', '####', '###']
street_suffix: [Alley, Avenue, Branch, Bridge, Brook, Brooks, Burg, Burgs, Bypass, Camp, Canyon, Cape, Causeway, Center, Centers, Circle, Circles, Cliff, Cliffs, Club, Common, Corner, Corners, Course, Court, Courts, Cove, Coves, Creek, Crescent, Crest, Crossing, Crossroad, Curve, Dale, Dam, Divide, Drive, Drive, Drives, Estate, Estates, Expressway, Extension, Extensions, Fall, Falls, Ferry, Field, Fields, Flat, Flats, Ford, Fords, Forest, Forge, Forges, Fork, Forks, Fort, Freeway, Garden, Gardens, Gateway, Glen, Glens, Green, Greens, Grove, Groves, Harbor, Harbors, Haven, Heights, Highway, Hill, Hills, Hollow, Inlet, Inlet, Island, Island, Islands, Islands, Isle, Isle, Junction, Junctions, Key, Keys, Knoll, Knolls, Lake, Lakes, Land, Landing, Lane, Light, Lights, Loaf, Lock, Locks, Locks, Lodge, Lodge, Loop, Mall, Manor, Manors, Meadow, Meadows, Mews, Mill, Mills, Mission, Mission, Motorway, Mount, Mountain, Mountain, Mountains, Mountains, Neck, Orchard, Oval, Overpass, Park, Parks, Parkway, Parkways, Pass, Passage, Path, Pike, Pine, Pines, Place, Plain, Plains, Plains, Plaza, Plaza, Point, Points, Port, Port, Ports, Ports, Prairie, Prairie, Radial, Ramp, Ranch, Rapid, Rapids, Rest, Ridge, Ridges, River, Road, Road, Roads, Roads, Route, Row, Rue, Run, Shoal, Shoals, Shore, Shores, Skyway, Spring, Springs, Springs, Spur, Spurs, Square, Square, Squares, Squares, Station, Station, Stravenue, Stravenue, Stream, Stream, Street, Street, Streets, Summit, Summit, Terrace, Throughway, Trace, Track, Trafficway, Trail, Trail, Tunnel, Tunnel, Turnpike, Turnpike, Underpass, Union, Unions, Valley, Valleys, Via, Viaduct, View, Views, Village, Village, Villages, Ville, Vista, Vista, Walk, Walks, Wall, Way, Ways, Well, Wells]
street_name_formats:
-
- :first_name
- :street_suffix
-
- :last_name
- :street_suffix
street_name_joiner: " "
street_formats:
-
- :street_address_number
- :street_name
secondary_address: ['Apt. ###', 'Suite ###']
# Though these are US-specific, they are here (in the default locale) for backwards compatibility
postcode: ['#####', '#####-####']
File diff suppressed because it is too large Load Diff
+13 -1
View File
@@ -9,6 +9,18 @@ fr:
secondary_address: ['Apt. ###', '# étage']
postcode: ['#####']
state: ['Alsace', 'Aquitaine', 'Auvergne', 'Basse-Normandie', 'Bourgogne', 'Bretagne', 'Centre', 'Champagne-Ardenne', 'Corse', 'Franche-Comté', 'Haute-Normandie', 'Île-de-France', 'Languedoc-Roussillon', 'Limousin', 'Lorraine', 'Midi-Pyrénées', 'Nord-Pas-de-Calais', 'Pays de la Loire', 'Picardie', 'Poitou-Charentes', "Provence-Alpes-Côte d'Azur", 'Rhône-Alpes']
street_name_formats:
-
- :first_name
- :street_suffix
-
- :last_name
- :street_suffix
street_name_joiner: " "
street_formats:
-
- :street_address_number
- :street_name
state_abbr: [AL, AQ, AU, BN, BO, BR, CE, CH]
company:
suffix: [SARL, SA, EURL, SAS, SEM, SCOP, GIE, EI]
@@ -45,4 +57,4 @@ fr:
- :last_name
phone_number:
formats: ['01########', '02########', '03########', '04########', '05########', '06########', '07########', '+33 1########', '+33 2########', '+33 3########', '+33 4########', '+33 5########', '+33 6########', '+33 7########']
formats: ['01########', '02########', '03########', '04########', '05########', '06########', '07########', '+33 1########', '+33 2########', '+33 3########', '+33 4########', '+33 5########', '+33 6########', '+33 7########']
@@ -25,7 +25,7 @@ public class FakerTest {
@Parameters(name = "testing locale {0}")
public static Collection<Object[]> data() {
Object[][] data = new Object[][]{{Locale.ENGLISH}, {Locale.FRENCH}};
Object[][] data = new Object[][]{{Locale.ENGLISH}, {Locale.FRENCH}, {new Locale("fi", "FI")}};
return Arrays.asList(data);
}