Skip to content

Commit c1d3e80

Browse files
dennyacRicky Yim
authored andcommitted
Port over dogs from stympy/faker (DiUS#310)
1 parent 33a1aa0 commit c1d3e80

File tree

6 files changed

+108
-0
lines changed

6 files changed

+108
-0
lines changed

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,6 +72,7 @@ Fakers
7272
* Crypto
7373
* DateAndTime
7474
* Demographic
75+
* Dog
7576
* DragonBall
7677
* Educator
7778
* Esports
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
package com.github.javafaker;
2+
3+
public class Dog {
4+
5+
private final Faker faker;
6+
7+
protected Dog(Faker faker) {
8+
this.faker = faker;
9+
}
10+
11+
public String name() {
12+
return faker.fakeValuesService().resolve("dog.name", this, faker);
13+
}
14+
15+
public String breed() {
16+
return faker.fakeValuesService().resolve("dog.breed", this, faker);
17+
}
18+
19+
public String sound() {
20+
return faker.fakeValuesService().resolve("dog.sound", this, faker);
21+
}
22+
23+
public String memePhrase() {
24+
return faker.fakeValuesService().resolve("dog.meme_phrase", this, faker);
25+
}
26+
27+
public String age() {
28+
return faker.fakeValuesService().resolve("dog.age", this, faker);
29+
}
30+
31+
public String coatLength() {
32+
return faker.fakeValuesService().resolve("dog.coat_length", this, faker);
33+
}
34+
35+
public String gender() {
36+
return faker.fakeValuesService().resolve("dog.gender", this, faker);
37+
}
38+
39+
public String size() {
40+
return faker.fakeValuesService().resolve("dog.size", this, faker);
41+
}
42+
}

src/main/java/com/github/javafaker/Faker.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,7 @@ public class Faker {
4545
private final GameOfThrones gameOfThrones;
4646
private final DateAndTime dateAndTime;
4747
private final Demographic demographic;
48+
private final Dog dog;
4849
private final Educator educator;
4950
private final Shakespeare shakespeare;
5051
private final SlackEmoji slackEmoji;
@@ -128,6 +129,7 @@ public Faker(Locale locale, Random random) {
128129
this.gameOfThrones = new GameOfThrones(this);
129130
this.dateAndTime = new DateAndTime(this);
130131
this.demographic = new Demographic(this);
132+
this.dog = new Dog(this);
131133
this.educator = new Educator(this);
132134
this.shakespeare = new Shakespeare(this);
133135
this.slackEmoji = new SlackEmoji(this);
@@ -403,6 +405,10 @@ public Demographic demographic() {
403405
return demographic;
404406
}
405407

408+
public Dog dog() {
409+
return dog;
410+
}
411+
406412
public Educator educator() {
407413
return educator;
408414
}

src/main/resources/en.yml

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -529,6 +529,15 @@ en:
529529
demonym: ["Afghan","Albanian","Algerian","American","Andorran","Angolan","Argentine","Armenian","Aromanian","Aruban","Australian","Austrian","Azerbaijani","Bahamian","Bahraini","Bangladeshi","Barbadian","Basotho","Basque","Belarusian","Belgian","Belizean","Bermudian","Bissau-Guinean","Boer","Bosniak","Brazilian","Breton","Briton","British Virgin Islander","Bruneian","Bulgarian","Burkinabè","Burundian","Cambodian","Cameroonian","Canadian","Catalan","Cape Verdean","Chadian","Chilean","Chinese","Colombian","Comorian","Congolese","Croatian","Cuban","Cypriot","Czech","Dane","Dominican","Dutch","East Timorese","Ecuadorian","Egyptian","Emirati","English","Eritrean","Estonian","Ethiopian","Falkland Islander","Faroese","Finn","Fijian","Filipino","French","Georgian","German","Ghanaian","Gibraltar","Greek","Grenadian","Guatemalan","French Guianan","Guinean","Guyanese","Haitian","Honduran","Hong Konger","Hungarian","Icelander","I-Kiribati","Indian","Indonesian","Iranian","Iraqi","Irish","Israeli","Italian","Ivoirian","Jamaican","Japanese","Jordanian","Kazakh","Kenyan","Korean","Kosovar","Kurd","Kuwaiti","Kyrgyz","Lao","Latvian","Lebanese","Liberian","Libyan","Liechtensteiner","Lithuanian","Luxembourger","Macanese","Macedonian","Malagasy","Malaysian","Malawian","Maldivian","Malian","Maltese","Manx","Mauritian","Mexican","Moldovan","Moroccan","Mongolian","Montenegrin","Namibian","Nepalese","New Zealander","Nicaraguan","Nigerien","Nigerian","Norwegian","Pakistani","Palauan","Palestinian","Panamanian","Papua New Guinean","Paraguayan","Peruvian","Pole","Portuguese","Puerto Rican","Quebecer","Romanian","Russian","Rwandan","Salvadoran","São Toméan","Saudi","Scottish","Senegalese","Serb","Sierra Leonean","Singaporean","Sindhian","Slovak","Slovene","Somali","Somalilander","South African","Spaniard","Sri Lankan","St Lucian","Sudanese","Surinamese","Swede","Swiss","Syriac","Syrian","Tajik","Taiwanese","Tanzanian","Thai","Tibetan","Tobagonian","Trinidadian","Tunisian","Turk","Tuvaluan","Ugandan","Ukrainian","Uruguayan","Uzbek","Vanuatuan","Venezuelan","Vietnamese","Welsh","Yemeni","Zambian","Zimbabwean"]
530530
educational_attainment: ["No schooling completed", "Nursery school", "Kindergarten", "Grade 1 though 11", "12th grade - No Diploma", "Regular high school diploma", "GED or alternative credential", "Some college", "Associate's degree", "Bachelor's degree", "Master's degree", "Professional degree", "Doctorate degree"]
531531
marital_status: ["Married", "Widowed", "Divorced", "Separated", "Never married"]
532+
dog:
533+
name: ["Buddy", "Max", "Bella", "Daisy", "Molly", "Rocky", "Lucy", "Bear", "Bailey", "Lucky", "Harley", "Maggie", "Princess", "Angel", "Charlie", "Sadie", "Jack", "Shadow", "Jake", "Coco", "Gizmo", "Chloe", "Sophie", "Toby", "Roxy", "Buster", "Ginger", "Lady", "Duke", "Baby", "Peanut", "Bandit", "Abby", "Sasha", "Lola", "Zoey", "Pepper", "Sam", "Gracie", "Sammy", "Precious", "Missy", "Riley", "Spike", "Lily", "Sassy", "Cooper", "Rusty", "Dakota", "Dixie", "Cody", "Lilly", "Zoe", "Cookie", "Chico", "Zeus", "Tucker", "Oreo", "Teddy", "Marley", "Oscar", "Honey", "Rex", "Tank", "Sugar", "Sandy", "Penny", "Tyson", "Chance", "Mia", "Diamond", "Bubba", "Blue", "Belle", "Shelby", "Rosie", "Casey", "Ruby", "Snoopy", "Cocoa", "Jasmine", "Diesel", "Patches", "Annie", "Sparky", "Taz", "Bruno", "Roxie", "Lexi", "Scooter", "Jasper", "Brutus", "Baxter", "Luna", "Snickers", "Misty", "Rascal", "Milo", "Murphy", "Bo", "Harvey"]
534+
breed: ["Affenpinscher", "African", "Airedale", "Akita", "Appenzeller", "Basenji", "Beagle", "Bluetick", "Borzoi", "Bouvier", "Boxer", "Brabancon", "Briard", "Boston Bulldog", "French Bulldog", "Staffordshire Bullterrier", "Cairn", "Chihuahua", "Chow", "Clumber", "Border Collie", "Coonhound", "Cardigan Corgi", "Dachshund", "Great Dane", "Scottish Deerhound", "Dhole", "Dingo", "Doberman", "Norwegian Elkhound", "Entlebucher", "Eskimo", "Germanshepherd", "Italian Greyhound", "Groenendael", "Ibizan Hound", "Afghan Hound", "Basset Hound", "Blood Hound", "English Hound", "Walker Hound", "Husky", "Keeshond", "Kelpie", "Komondor", "Kuvasz", "Labrador", "Leonberg", "Lhasa", "Malamute", "Malinois", "Maltese", "Bull Mastiff", "Tibetan Mastiff", "Mexicanhairless", "Bernese Mountain", "Swiss Mountain", "Newfoundland", "Otterhound", "Papillon", "Pekinese", "Pembroke", "Miniature Pinscher", "German Pointer", "Pomeranian", "Miniature Poodle", "Standard Poodle", "Toy Poodle", "Pug", "Pyrenees", "Redbone", "Chesapeake Retriever", "Curly Retriever", "Flatcoated Retriever", "Golden Retriever", "Rhodesian Ridgeback", "Rottweiler", "Saluki", "Samoyed", "Schipperke", "Giant Schnauzer", "Miniature Schnauzer", "English Setter", "Gordon Setter", "Irish Setter", "English Sheepdog", "Shetland Sheepdog", "Shiba", "Shihtzu", "Blenheim Spaniel", "Brittany Spaniel", "Cocker Spaniel", "Irish Spaniel", "Japanese Spaniel", "Sussex Spaniel", "Welsh Spaniel", "English Springer", "Stbernard", "American Terrier", "Australian Terrier", "Bedlington Terrier", "Border Terrier", "Dandie Terrier", "Fox Terrier", "Irish Terrier", "Kerryblue Terrier", "Lakeland Terrier", "Norfolk Terrier", "Norwich Terrier", "Patterdale Terrier", "Rat Terrier", "Scottish Terrier", "Sealyham Terrier", "Silky Terrier", "Tibetan Terrier", "Toy Terrier", "Westhighland Terrier", "Wheaten Terrier", "Yorkshire Terrier", "Vizsla", "Weimaraner", "Whippet", "Irish Wolfhound"]
535+
sound: ["woof", "woof woof", "bow wow", "ruff", "owooooo", "grrrrrr"]
536+
meme_phrase: ["heck no pal", "11/10", "boop the snoot", "mlem", "blep", "long boi", "thicc doggo", "big ol' pupper", "smol pupperino", "zoom", "they're good dogs Brent"]
537+
age: ["puppy", "young", "adult", "senior"]
538+
coat_length: ["hairless", "short", "medium", "long", "wire", "curly"]
539+
gender: ["female", "male"]
540+
size: ["small", "medium", "large", "extra large"]
532541
harry_potter:
533542
characters: ["Hannah Abbott", "Bathsheda Babbling", "Ludo Bagman", "Bathilda Bagshot", "Marcus Belby", "Katie Bell", "Cuthbert Binns", "Phineas Nigellus Black", "Regulus Arcturus Black", "Sirius Black", "Broderick Bode", "Bogrod", "Amelia Bones", "Susan Bones", "Terry Boot", "Mr. Borgin", "Lavendar Brown", "Millicent Bulstrode", "Charity Burbage", "Frank Bryce", "Alecto Carrow", "Amycus Carrow", "Refinald Cattermole", "Mary Cattermole", "Cho Chang", "Penelope Clearwater", "Mrs. Cole", "Michael Corner", "Vincent Crabbe, Sr.", "Vincent Crabbe", "Dennis Creevey", "Dirk Cresswell", "Bartemius Crouch, Sr.", "Barty Crouch, Jr.", "Roger Davies", "John Dawlish", "Fleur Delacour", "Gabrielle Delacour", "Dedalus Diggle", "Amos Diggory", "Cedric Diggory", "Armando Dippet", "Elphias Doge", "Antonin Dolohov", "Abeforth Dumbledore", "Albus Dumbledore", "Ariana Dumbledore", "Dudley Dursley", "Marge Dursley", "Petunia Dursley", "Vernon Dursley", "Marietta Edgecombe", "Everard", "Arabella Figg", "Argus Filch", "Justin Finch-Fletchley", "Seamus Finnigan", "Marcus Flint", "Nicholas Flamel", "Mundungus Fletcher", "Filius Flitwick", "Florean Fortescue", "Cornelius Fudge", "Marvolo Gaunt", "Merope Gaunt", "Morfin Gaunt", "Anthony Goldstein", "Goyle Sr.", "Gregory Goyle", "Heromine Granger", "Gregorovitch", "Fenrir Greyback", "Gellert Grindelwald", "Wilhelmina Grubbly-Plank", "Godric Gryffindor", "Astoria Greengrass", "Rubeus Hagrid", "Rolanda Hooch", "Mafalda Hopkirk", "Helga Hufflepuff", "Andelina Johnson", "Lee Jordan", "Bertha Jorkins", "Igor Karkaroff", "Viktor Krum", "Bellatrix Lestrange", "Rabastan Lestrange", "Rodolphus Lestrange", "Gilderoy Lockhart", "Alice Longbottom", "Augusta Longbottom", "Frank Longbottom", "Neville Longbottom", "Luna Lovegood", "Xenophilius Lovegood", "Remus Lupin", "Walden Macnair", "Draco Malfoy", "Lucius Malfoy", "Narcissa Malfoy", "Madam Malkin", "Griselda Marchbanks", "Olympe Maxime", "Ernine Macmillan", "Minerva McGonagall", "Cormac McLaggen", "Graham Montague", "Alaster (Mad-Eye) Moody", "Moran", "Theodore Nott", "Bob Ogden", "Garrick Ollivander", "Pansy Parkinson", "Padma Patil", "Parvati Patil", "Petter Pettigrew", "Antioch Peverell", "Antioch Peverell", "Cadmus Peverell", "Ignotus Peverell", "Irma Prince", "Sturgis Podmore", "Poppy Pomfrey", "Harry Potter", "James Potter", "Lily Potter", "Fabian Prewett", "Gideon Prewett", "Quirinus Quirrell", "Helena Ravenclaw (The Grey Lady)", "Rowena Ravenclaw", "Tom Marvolo Riddle", "Mr. Roberts", "Demelza Robins", "Augustus Rookwood", "Albert Runcorn", "Scabior", "Newt Scamander", "Rolf Scamander", "Rufus Scrimgeour", "Kingsley Shacklebolt", "Stan Shunpike", "Aurora Sinistra", "Rita Skeeter", "Horace Slughorn", "Salazar Slytherin", "Hepzibah Smith", "Zacharias Smith", "Severus Snape", "Alicia Spinnet", "Pomona Sprout", "Pius Thicknesse", "Dean Thomas", "Andromeda Tonks", "Nymphadora Tonks", "Ted Tonks", "Travers", "Sybill Trelawney", "Wilky Twycross", "Dolores Jane Umbridge", "Emmeline Vance", "Romilda Vane", "Septima Vector", "Lord Voldemort", "Myrtle Warren", "Cassius Warrington", "Arthur Weasley", "Bill Weasley", "Charlie Weasley", "Fred Weasley", "George Weasley", "Ginny Weasley", "Molly Weasley", "Percy Weasley", "Ron Weasley", "Oliver Wood", "Kennilworthy Whisp", "Yaxley", "Blaise Zabini", "Aragog", "Bane", "Beedle the Bard", "The Bloody Baron", "Buckbeak", "Sir Cadogan", "Crookshanks", "Dobby", "Enid", "Errol", "Fang", "The Fat Friar", "Fridwulfa", "The Fat Lady", "Fawkes", "Firenze", "Fluffy", "Grawp", "Griphook", "Hedwig", "Hokey", "Kreacher", "Magorian", "Moaning Myrtle", "Mrs. Norris", "Great Aunt Muriel", "Nagini", "Nearly Headless Nick", "Norbert", "Peeves", "Pigwidgeon", "Madam Rosmerta", "Ronan", "Scabbers", "Trevor", "Winky"]
534543
locations: ["The Burrow", "Godric's Hollow", "Little Hangleton", "Malfoy Manor", "Number 12, Grimmauld Place", "Shell Cottage", "Sinner's End", "Beauxbatons", "Castlelobruxo", "Durmstrang", "Hogwarts", "Ilvermorny", "Mahoutokoro", "Uagadou", "Diagon Alley", "Eeylops Owl Emporium", "Florean Fortescue's Ice Cream Parlour", "Flourish & Blotts", "Gambol and Japes", "Gingotts Wizarding Bank", "Knockturn Alley", "Borgin & Burkes", "The Leaky Cauldron", "Madam Malkin's Robes for All Occasions", "Magical Menagerie", "Ollivanders", "Potage's Cauldron Shop", "Quality Quidditch Shop", "Slug and Jiggers Apothecary", "Stalls", "Twilfitt and Tatting's", "Weasleys' Wizard Wheezes", "Wiseacre's Wizarding Equipment", "Hogmeade", "The Three Broomsticks", "Honeydukes", "Zonko's Joke Shop", "Hogsmeade Station", "The Hog's Head", "Dervish & Banges", "Galdrags Wizardwear", "Scrivenshaft's Quill Shop", "Madam Puddifoot's", "Post Office", "Shrieking Shack", "Azkaban", "Ministry of Magic", "St. Mungo's Hospital for Magical Maladies and Injuries", "Numengard", "Platform 9 3/4"]
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
package com.github.javafaker;
2+
3+
import org.junit.Test;
4+
5+
import static com.github.javafaker.matchers.MatchesRegularExpression.matchesRegularExpression;
6+
import static org.junit.Assert.assertThat;
7+
8+
public class DogTest extends AbstractFakerTest {
9+
10+
@Test
11+
public void name() {
12+
assertThat(faker.dog().name(), matchesRegularExpression("[A-Za-z ]+"));
13+
}
14+
15+
@Test
16+
public void breed() {
17+
assertThat(faker.dog().breed(), matchesRegularExpression("[A-Za-z ]+"));
18+
}
19+
20+
@Test
21+
public void sound() {
22+
assertThat(faker.dog().sound(), matchesRegularExpression("[A-Za-z ]+"));
23+
}
24+
25+
@Test
26+
public void memePhrase() {
27+
assertThat(faker.dog().memePhrase(), matchesRegularExpression("[A-Za-z0-9'\\/ ]+"));
28+
}
29+
30+
@Test
31+
public void age() {
32+
assertThat(faker.dog().age(), matchesRegularExpression("[A-Za-z ]+"));
33+
}
34+
35+
@Test
36+
public void gender() {
37+
assertThat(faker.dog().gender(), matchesRegularExpression("[A-Za-z ]+"));
38+
}
39+
40+
@Test
41+
public void coatLength() {
42+
assertThat(faker.dog().coatLength(), matchesRegularExpression("[A-Za-z ]+"));
43+
}
44+
45+
@Test
46+
public void size() {
47+
assertThat(faker.dog().size(), matchesRegularExpression("[A-Za-z ]+"));
48+
}
49+
}

src/test/java/com/github/javafaker/integration/FakerIT.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -103,6 +103,7 @@ public void testAllFakerMethodsThatReturnStrings() throws Exception {
103103
testAllMethodsThatReturnStringsActuallyReturnStrings(faker.crypto());
104104
testAllMethodsThatReturnStringsActuallyReturnStrings(faker.demographic());
105105
testAllMethodsThatReturnStringsActuallyReturnStrings(faker.dragonBall());
106+
testAllMethodsThatReturnStringsActuallyReturnStrings(faker.dog());
106107
testAllMethodsThatReturnStringsActuallyReturnStrings(faker.educator());
107108
testAllMethodsThatReturnStringsActuallyReturnStrings(faker.funnyName());
108109
testAllMethodsThatReturnStringsActuallyReturnStrings(faker.hitchhikersGuideToTheGalaxy());

0 commit comments

Comments
 (0)