From b00289785894ad30445ffcbd8beb66aa1573c2b0 Mon Sep 17 00:00:00 2001 From: Olga Maciaszek-Sharma Date: Sat, 14 Feb 2015 16:42:21 +0100 Subject: [PATCH] Added methods for getting localised text. Added localised text, words and sentences for EN and PL versions. The generation of latin text, words and sentences moved to differently named methods. --- build.gradle | 9 + .../jfairy/producer/text/TextProducer.java | 203 +++++++++--------- .../producer/text/TextProducerInternal.java | 157 +++++++++----- src/main/resources/jfairy.yml | 3 +- src/main/resources/jfairy_en.yml | 2 +- src/main/resources/jfairy_pl.yml | 3 +- .../codearte/jfairy/producer/TextSpec.groovy | 25 +++ src/test/groovy/snippets/TextSnippet.groovy | 13 ++ 8 files changed, 260 insertions(+), 155 deletions(-) diff --git a/build.gradle b/build.gradle index d13b386..f72dc9e 100644 --- a/build.gradle +++ b/build.gradle @@ -157,6 +157,15 @@ uploadArchives { role 'developer' } } + developer { + id 'olga.maciaszek' + name 'Olga Maciaszek-Sharma' + email 'olga.maciaszek ATT gmail DOTT com' + roles { + role 'developer' + role 'qa engineer' + } + } } scm { connection 'scm:git:git@github.com:Codearte/jfairy.git' diff --git a/src/main/java/eu/codearte/jfairy/producer/text/TextProducer.java b/src/main/java/eu/codearte/jfairy/producer/text/TextProducer.java index af93a9f..6c5286a 100644 --- a/src/main/java/eu/codearte/jfairy/producer/text/TextProducer.java +++ b/src/main/java/eu/codearte/jfairy/producer/text/TextProducer.java @@ -3,108 +3,117 @@ */ package eu.codearte.jfairy.producer.text; -import com.google.common.base.Joiner; -import com.google.common.base.Splitter; -import eu.codearte.jfairy.producer.BaseProducer; +import static eu.codearte.jfairy.producer.text.TextUtils.*; +import static org.apache.commons.lang3.StringUtils.*; -import javax.inject.Inject; import java.util.ArrayList; import java.util.List; +import javax.inject.Inject; -import static com.google.common.collect.Lists.newArrayList; -import static org.apache.commons.lang3.StringUtils.capitalize; -import static org.apache.commons.lang3.StringUtils.endsWith; -import static org.apache.commons.lang3.StringUtils.left; -import static org.apache.commons.lang3.StringUtils.removeEnd; -import static eu.codearte.jfairy.producer.text.TextUtils.joinWithSpace; +import eu.codearte.jfairy.producer.BaseProducer; public class TextProducer { - private static final int DEFAULT_WORD_COUNT = 3; - private static final int DEFAULT_WORD_COUNT_IN_SENTENCE = 3; - private static final int DEFAULT_SENTENCE_COUNT = 3; - private static final int WORD_COUNT_PRECISION_IN_SENTENCE = 6; - private static final int SENTENCE_COUNT_PRECISION_MIN = 1; - private static final int SENTENCE_COUNT_PRECISION_MAX = 3; - - private final TextProducerInternal textProducerInternal; - private final BaseProducer baseProducer; - - private int limit = 0; - - @Inject - public TextProducer(TextProducerInternal textProducerInternal, BaseProducer baseProducer) { - this.textProducerInternal = textProducerInternal; - this.baseProducer = baseProducer; - } - - public TextProducer limitedTo(int limit) { - this.limit = limit; - return this; - } - - public String result(String result) { - if (limit > 0) { - return left(result, limit); - } else { - return result; - } - } - - public String loremIpsum() { - return result(textProducerInternal.getLoremIpsum()); - } - - public String word() { - return result(word(DEFAULT_WORD_COUNT)); - } - - public String word(int count) { - return result(textProducerInternal.cleanWords(count)); - } - - public String sentence() { - return result(sentence(DEFAULT_WORD_COUNT_IN_SENTENCE)); - } - - public String sentence(int wordCount) { - String randomWords = textProducerInternal.rawWords(wordCount, WORD_COUNT_PRECISION_IN_SENTENCE); - List sentences = newArrayList(); - for (String sentence : Splitter.on(". ").split(randomWords)) { - sentences.add(capitalize(sentence)); - } - String sentence = capitalize(Joiner.on(". ").join(sentences)); - sentence = removeEnd(sentence, ","); - if (!endsWith(sentence, ".")) { - sentence += "."; - } - return result(sentence); - } - - private List sentences(int sentenceCount) { - List sentences = new ArrayList(sentenceCount); - for (int i = 0; i < sentenceCount; i++) { - sentences.add(sentence()); - } - return sentences; - } - - public String paragraph() { - return result(paragraph(DEFAULT_SENTENCE_COUNT)); - } - - public String paragraph(int sentenceCount) { - return result(joinWithSpace(sentences(sentenceCount + - baseProducer.randomBetween(SENTENCE_COUNT_PRECISION_MIN, SENTENCE_COUNT_PRECISION_MAX)))); - } - - /** - * Generates random string with desired length - * - * @param charsCount string length - * @return random string - */ - public String randomString(int charsCount) { - return textProducerInternal.randomString(charsCount); - } + private static final int DEFAULT_WORD_COUNT = 3; + + private static final int DEFAULT_WORD_COUNT_IN_SENTENCE = 3; + + private static final int DEFAULT_SENTENCE_COUNT = 3; + + private static final int SENTENCE_COUNT_PRECISION_MIN = 1; + + private static final int SENTENCE_COUNT_PRECISION_MAX = 3; + + private final TextProducerInternal textProducerInternal; + + private final BaseProducer baseProducer; + + private int limit = 0; + + @Inject + public TextProducer(TextProducerInternal textProducerInternal, BaseProducer baseProducer) { + this.textProducerInternal = textProducerInternal; + this.baseProducer = baseProducer; + } + + public TextProducer limitedTo(int limit) { + this.limit = limit; + return this; + } + + public String result(String result) { + if (limit > 0) { + return left(result, limit); + } else { + return result; + } + } + + public String loremIpsum() { + return result(textProducerInternal.loremIpsum()); + } + + public String text() { + return result(textProducerInternal.text()); + } + + public String word() { + return result(word(DEFAULT_WORD_COUNT)); + } + + public String word(int count) { + return result(textProducerInternal.cleanWords(count)); + } + + public String latinWord() { + return result(latinWord(DEFAULT_WORD_COUNT)); + } + + public String latinWord(int count) { + return result(textProducerInternal.cleanLatinWords(count)); + } + + public String latinSentence() { + return result(latinSentence(DEFAULT_SENTENCE_COUNT)); + } + + public String latinSentence(int wordCount) { + return result(textProducerInternal.latinSentence(wordCount)); + } + + public String sentence() { + return result(sentence(DEFAULT_WORD_COUNT_IN_SENTENCE)); + } + + public String sentence(int wordCount) { + return result(textProducerInternal.sentence(wordCount)); + + } + + private List sentences(int sentenceCount) { + List sentences = new ArrayList(sentenceCount); + for (int i = 0; i < sentenceCount; i++) { + sentences.add(sentence()); + } + return sentences; + } + + public String paragraph() { + return result(paragraph(DEFAULT_SENTENCE_COUNT)); + } + + public String paragraph(int sentenceCount) { + return result(joinWithSpace(sentences(sentenceCount + + baseProducer.randomBetween(SENTENCE_COUNT_PRECISION_MIN, SENTENCE_COUNT_PRECISION_MAX)))); + } + + /** + * Generates random string with desired length + * + * @param charsCount string length + * @return random string + */ + public String randomString(int charsCount) { + return textProducerInternal.randomString(charsCount); + } } diff --git a/src/main/java/eu/codearte/jfairy/producer/text/TextProducerInternal.java b/src/main/java/eu/codearte/jfairy/producer/text/TextProducerInternal.java index fb19008..32dd1f1 100644 --- a/src/main/java/eu/codearte/jfairy/producer/text/TextProducerInternal.java +++ b/src/main/java/eu/codearte/jfairy/producer/text/TextProducerInternal.java @@ -3,66 +3,113 @@ */ package eu.codearte.jfairy.producer.text; -import eu.codearte.jfairy.data.DataMaster; -import eu.codearte.jfairy.producer.BaseProducer; +import static com.google.common.collect.Lists.*; +import static java.util.Arrays.asList; +import static org.apache.commons.lang3.StringUtils.*; -import javax.inject.Inject; import java.util.List; +import javax.inject.Inject; -import static com.google.common.collect.Lists.newArrayList; -import static java.util.Arrays.asList; -import static org.apache.commons.lang3.StringUtils.replaceChars; -import static org.apache.commons.lang3.StringUtils.split; -import static org.apache.commons.lang3.StringUtils.uncapitalize; +import com.google.common.base.Joiner; +import com.google.common.base.Splitter; +import eu.codearte.jfairy.data.DataMaster; +import eu.codearte.jfairy.producer.BaseProducer; class TextProducerInternal { - private static final String DATA = "text"; - private static final String ALPHABET = "alphabet"; - - private final BaseProducer baseProducer; - - private final String loremIpsum; - private final List words; - private final String alphabet; - private final int maxAlphabetIndex; - - @Inject - public TextProducerInternal(DataMaster dataMaster, BaseProducer baseProducer) { - this.baseProducer = baseProducer; - loremIpsum = dataMaster.getString(DATA); - words = asList(split(loremIpsum, ' ')); - alphabet = dataMaster.getString(ALPHABET); - maxAlphabetIndex = alphabet.length() - 1; - } - - public String getLoremIpsum() { - return loremIpsum; - } - - public String rawWords(int count, int precision) { - List result = readRawWords(count, precision); - return TextUtils.joinWithSpace(result); - } - - public String cleanWords(int count) { - List result = newArrayList(); - for (String part : readRawWords(count, 0)) { - result.add(uncapitalize(replaceChars(part, "., ", ""))); - } - return TextUtils.joinWithSpace(result); - } - - public String randomString(int charsCount) { - StringBuilder sb = new StringBuilder(charsCount); - for (int i = 0; i < charsCount; i++) { - sb.append(alphabet.charAt(baseProducer.randomInt(maxAlphabetIndex))); - } - return sb.toString(); - } - - private List readRawWords(int count, int precision) { - return baseProducer.randomElements(words, baseProducer.randomBetween(count, count + precision)); - } + private static final String LOREM_IPSUM = "loremIpsum"; + + private static final String TEXT = "text"; + + private static final String ALPHABET = "alphabet"; + + private static final int WORD_COUNT_PRECISION_IN_SENTENCE = 6; + + private final BaseProducer baseProducer; + + private final String loremIpsum; + + private final String text; + + private final List words; + + private final String alphabet; + + private final int maxAlphabetIndex; + + private final List latinWords; + + @Inject + public TextProducerInternal(DataMaster dataMaster, BaseProducer baseProducer) { + this.baseProducer = baseProducer; + loremIpsum = dataMaster.getString(LOREM_IPSUM); + text = dataMaster.getString(TEXT); + words = asList(split(text, ' ')); + latinWords = asList(split(loremIpsum, ' ')); + alphabet = dataMaster.getString(ALPHABET); + maxAlphabetIndex = alphabet.length() - 1; + } + + public String loremIpsum() { + return loremIpsum; + } + + public String rawWords(List words, int count, int precision) { + List result = readRawWords(words, count, precision); + return TextUtils.joinWithSpace(result); + } + + public String cleanLatinWords(int count) { + return cleanWords(latinWords, count); + } + + public String cleanWords(int count) { + return cleanWords(words, count); + } + + private String cleanWords(List words, int count) { + List result = newArrayList(); + for (String part : readRawWords(words, count, 0)) { + result.add(uncapitalize(replaceChars(part, "., ", ""))); + } + return TextUtils.joinWithSpace(result); + } + + public String randomString(int charsCount) { + StringBuilder sb = new StringBuilder(charsCount); + for (int i = 0; i < charsCount; i++) { + sb.append(alphabet.charAt(baseProducer.randomInt(maxAlphabetIndex))); + } + return sb.toString(); + } + + private List readRawWords(List words, int count, int precision) { + return baseProducer.randomElements(words, baseProducer.randomBetween(count, count + precision)); + } + + public String text() { + return text; + } + + public String sentence(int wordCount) { + return sentence(words, wordCount); + } + + public String latinSentence(int wordCount) { + return sentence(latinWords, wordCount); + } + private String sentence(List words, int wordCount) { + String randomWords = rawWords(words, wordCount, WORD_COUNT_PRECISION_IN_SENTENCE); + List sentences = newArrayList(); + for (String sentence : Splitter.on(". ").split(randomWords)) { + sentences.add(capitalize(sentence)); + } + String sentence = capitalize(Joiner.on(". ").join(sentences)); + sentence = removeEnd(sentence, ","); + if (!endsWith(sentence, ".")) { + sentence += "."; + } + return sentence; + } } diff --git a/src/main/resources/jfairy.yml b/src/main/resources/jfairy.yml index 6fcc204..132d75f 100644 --- a/src/main/resources/jfairy.yml +++ b/src/main/resources/jfairy.yml @@ -7,4 +7,5 @@ data: lastNames: { male: [Abbott, Acevedo, Acosta, Adams, Adkins, Aguilar, Aguirre, Albert, Alexander, Alford, Allen, Allison, Alston, Alvarado, Alvarez, Anderson, Andrews, Anthony, Armstrong, Arnold, Ashley, Atkins, Atkinson, Austin, Avery, Avila, Ayala, Ayers, Bailey, Baird, Baker, Baldwin, Ball, Ballard, Banks, Barber, Barker, Barlow, Barnes, Barnett, Barr, Barrera, Barrett, Barron, Barry, Bartlett, Barton, Bass, Bates, Battle, Bauer, Baxter, Beach, Bean, Beard, Beasley, Beck, Becker, Bell, Bender, Benjamin, Bennett, Benson, Bentley, Benton, Berg, Berger, Bernard, Berry, Best, Bird, Bishop, Black, Blackburn, Blackwell, Blair, Blake, Blanchard, Blankenship, Blevins, Bolton, Bond, Bonner, Booker, Boone, Booth, Bowen, Bowers, Bowman, Boyd, Boyer, Boyle, Bradford, Bradley, Bradshaw, Brady, Branch, Bray, Brennan, Brewer, Bridges, Briggs, Bright, Britt, Brock, Brooks, Brown, Browning, Bruce, Bryan, Bryant, Buchanan, Buck, Buckley, Buckner, Bullock, Burch, Burgess, Burke, Burks, Burnett, Burns, Burris, Burt, Burton, Bush, Butler, Byers, Byrd, Cabrera, Cain, Calderon, Caldwell, Calhoun, Callahan, Camacho, Cameron, Campbell, Campos, Cannon, Cantrell, Cantu, Cardenas, Carey, Carlson, Carney, Carpenter, Carr, Carrillo, Carroll, Carson, Carter, Carver, Case, Casey, Cash, Castaneda, Castillo, Castro, Cervantes, Chambers, Chan, Chandler, Chaney, Chang, Chapman, Charles, Chase, Chavez, Chen, Cherry, Christensen, Christian, Church, Clark, Clarke, Clay, Clayton, Clements, Clemons, Cleveland, Cline, Cobb, Cochran, Coffey, Cohen, Cole, Coleman, Collier, Collins, Colon, Combs, Compton, Conley, Conner, Conrad, Contreras, Conway, Cook, Cooke, Cooley, Cooper, Copeland, Cortez, Cote, Cotton, Cox, Craft, Craig, Crane, Crawford, Crosby, Cross, Cruz, Cummings, Cunningham, Curry, Curtis, Dale, Dalton, Daniel, Daniels, Daugherty, Davenport, David, Davidson, Davis, Dawson, Day, Dean, Decker, Dejesus, Delacruz, Delaney, Deleon, Delgado, Dennis, Diaz, Dickerson, Dickson, Dillard, Dillon, Dixon, Dodson, Dominguez, Donaldson, Donovan, Dorsey, Dotson, Douglas, Downs, Doyle, Drake, Dudley, Duffy, Duke, Duncan, Dunlap, Dunn, Duran, Durham, Dyer, Eaton, Edwards, Elliott, Ellis, Ellison, Emerson, England, English, Erickson, Espinoza, Estes, Estrada, Evans, Everett, Ewing, Farley, Farmer, Farrell, Faulkner, Ferguson, Fernandez, Ferrell, Fields, Figueroa, Finch, Finley, Fischer, Fisher, Fitzgerald, Fitzpatrick, Fleming, Fletcher, Flores, Flowers, Floyd, Flynn, Foley, Forbes, Ford, Foreman, Foster, Fowler, Fox, Francis, Franco, Frank, Franklin, Franks, Frazier, Frederick, Freeman, French, Frost, Fry, Frye, Fuentes, Fuller, Fulton, Gaines, Gallagher, Gallegos, Galloway, Gamble, Garcia, Gardner, Garner, Garrett, Garrison, Garza, Gates, Gay, Gentry, George, Gibbs, Gibson, Gilbert, Giles, Gill, Gillespie, Gilliam, Gilmore, Glass, Glenn, Glover, Goff, Golden, Gomez, Gonzales, Gonzalez, Good, Goodman, Goodwin, Gordon, Gould, Graham, Grant, Graves, Gray, Green, Greene, Greer, Gregory, Griffin, Griffith, Grimes, Gross, Guerra, Guerrero, Guthrie, Gutierrez, Guy, Guzman, Hahn, Hale, Haley, Hall, Hamilton, Hammond, Hampton, Hancock, Haney, Hansen, Hanson, Hardin, Harding, Hardy, Harmon, Harper, Harrell, Harrington, Harris, Harrison, Hart, Hartman, Harvey, Hatfield, Hawkins, Hayden, Hayes, Haynes, Hays, Head, Heath, Hebert, Henderson, Hendricks, Hendrix, Henry, Hensley, Henson, Herman, Hernandez, Herrera, Herring, Hess, Hester, Hewitt, Hickman, Hicks, Higgins, Hill, Hines, Hinton, Hobbs, Hodge, Hodges, Hoffman, Hogan, Holcomb, Holden, Holder, Holland, Holloway, Holman, Holmes, Holt, Hood, Hooper, Hoover, Hopkins, Hopper, Horn, Horne, Horton, House, Houston, Howard, Howe, Howell, Hubbard, Huber, Hudson, Huff, Huffman, Hughes, Hull, Humphrey, Hunt, Hunter, Hurley, Hurst, Hutchinson, Hyde, Ingram, Irwin, Jackson, Jacobs, Jacobson, James, Jarvis, Jefferson, Jenkins, Jennings, Jensen, Jimenez, Johns, Johnson, Johnston, Jones, Jordan, Joseph, Joyce, Joyner, Juarez, Justice, Kane, Kaufman, Keith, Keller, Kelley, Kelly, Kemp, Kennedy, Kent, Kerr, Key, Kidd, Kim, King, Kinney, Kirby, Kirk, Kirkland, Klein, Kline, Knapp, Knight, Knowles, Knox, Koch, Kramer, Lamb, Lambert, Lancaster, Landry, Lane, Lang, Langley, Lara, Larsen, Larson, Lawrence, Lawson, Le, Leach, Leblanc, Lee, Leon, Leonard, Lester, Levine, Levy, Lewis, Lindsay, Lindsey, Little, Livingston, Lloyd, Logan, Long, Lopez, Lott, Love, Lowe, Lowery, Lucas, Luna, Lynch, Lynn, Lyons, Macdonald, Macias, Mack, Madden, Maddox, Maldonado, Malone, Mann, Manning, Marks, Marquez, Marsh, Marshall, Martin, Martinez, Mason, Massey, Mathews, Mathis, Matthews, Maxwell, May, Mayer, Maynard, Mayo, Mays, Mcbride, Mccall, Mccarthy, Mccarty, Mcclain, Mcclure, Mcconnell, Mccormick, Mccoy, Mccray, Mccullough, Mcdaniel, Mcdonald, Mcdowell, Mcfadden, Mcfarland, Mcgee, Mcgowan, Mcguire, Mcintosh, Mcintyre, Mckay, Mckee, Mckenzie, Mckinney, Mcknight, Mclaughlin, Mclean, Mcleod, Mcmahon, Mcmillan, Mcneil, Mcpherson, Meadows, Medina, Mejia, Melendez, Melton, Mendez, Mendoza, Mercado, Mercer, Merrill, Merritt, Meyer, Meyers, Michael, Middleton, Miles, Miller, Mills, Miranda, Mitchell, Molina, Monroe, Montgomery, Montoya, Moody, Moon, Mooney, Moore, Morales, Moran, Moreno, Morgan, Morin, Morris, Morrison, Morrow, Morse, Morton, Moses, Mosley, Moss, Mueller, Mullen, Mullins, Munoz, Murphy, Murray, Myers, Nash, Navarro, Neal, Nelson, Newman, Newton, Nguyen, Nichols, Nicholson, Nielsen, Nieves, Nixon, Noble, Noel, Nolan, Norman, Norris, Norton, Nunez, Obrien, Ochoa, Oconnor, Odom, Odonnell, Oliver, Olsen, Olson, Oneal, Oneil, Oneill, Orr, Ortega, Ortiz, Osborn, Osborne, Owen, Owens, Pace, Pacheco, Padilla, Page, Palmer, Park, Parker, Parks, Parrish, Parsons, Pate, Patel, Patrick, Patterson, Patton, Paul, Payne, Pearson, Peck, Pena, Pennington, Perez, Perkins, Perry, Peters, Petersen, Peterson, Petty, Phelps, Phillips, Pickett, Pierce, Pittman, Pitts, Pollard, Poole, Pope, Porter, Potter, Potts, Powell, Powers, Pratt, Preston, Price, Prince, Pruitt, Puckett, Pugh, Quinn, Ramirez, Ramos, Ramsey, Randall, Randolph, Rasmussen, Ratliff, Ray, Raymond, Reed, Reese, Reeves, Reid, Reilly, Reyes, Reynolds, Rhodes, Rice, Rich, Richard, Richards, Richardson, Richmond, Riddle, Riggs, Riley, Rios, Rivas, Rivera, Rivers, Roach, Robbins, Roberson, Roberts, Robertson, Robinson, Robles, Rocha, Rodgers, Rodriguez, Rodriquez, Rogers, Rojas, Rollins, Roman, Romero, Rosa, Rosales, Rosario, Rose, Ross, Roth, Rowe, Rowland, Roy, Ruiz, Rush, Russell, Russo, Rutledge, Ryan, Salas, Salazar, Salinas, Sampson, Sanchez, Sanders, Sandoval, Sanford, Santana, Santiago, Santos, Sargent, Saunders, Savage, Sawyer, Schmidt, Schneider, Schroeder, Schultz, Schwartz, Scott, Sears, Sellers, Serrano, Sexton, Shaffer, Shannon, Sharp, Sharpe, Shaw, Shelton, Shepard, Shepherd, Sheppard, Sherman, Shields, Short, Silva, Simmons, Simon, Simpson, Sims, Singleton, Skinner, Slater, Sloan, Small, Smith, Snider, Snow, Snyder, Solis, Solomon, Sosa, Soto, Sparks, Spears, Spence, Spencer, Stafford, Stanley, Stanton, Stark, Steele, Stein, Stephens, Stephenson, Stevens, Stevenson, Stewart, Stokes, Stone, Stout, Strickland, Strong, Stuart, Suarez, Sullivan, Summers, Sutton, Swanson, Sweeney, Sweet, Sykes, Talley, Tanner, Tate, Taylor, Terrell, Terry, Thomas, Thompson, Thornton, Tillman, Todd, Torres, Townsend, Tran, Travis, Trevino, Trujillo, Tucker, Turner, Tyler, Tyson, Underwood, Valdez, Valencia, Valentine, Valenzuela, Vance, Vang, Vargas, Vasquez, Vaughan, Vaughn, Vazquez, Vega, Velasquez, Velazquez, Velez, Villarreal, Vincent, Vinson, Wade, Wagner, Walker, Wall, Wallace, Waller, Walls, Walsh, Walter, Walters, Walton, Ward, Ware, Warner, Warren, Washington, Waters, Watkins, Watson, Watts, Weaver, Webb, Weber, Webster, Weeks, Weiss, Welch, Wells, West, Wheeler, Whitaker, White, Whitehead, Whitfield, Whitley, Whitney, Wiggins, Wilcox, Wilder, Wiley, Wilkerson, Wilkins, Wilkinson, William, Williams, Williamson, Willis, Wilson, Winters, Wise, Witt, Wolf, Wolfe, Wong, Wood, Woodard, Woods, Woodward, Wooten, Workman, Wright, Wyatt, Wynn, Yang, Yates, York, Young, Zamora, Zimmerman], female: [Abbott, Acevedo, Acosta, Adams, Adkins, Aguilar, Aguirre, Albert, Alexander, Alford, Allen, Allison, Alston, Alvarado, Alvarez, Anderson, Andrews, Anthony, Armstrong, Arnold, Ashley, Atkins, Atkinson, Austin, Avery, Avila, Ayala, Ayers, Bailey, Baird, Baker, Baldwin, Ball, Ballard, Banks, Barber, Barker, Barlow, Barnes, Barnett, Barr, Barrera, Barrett, Barron, Barry, Bartlett, Barton, Bass, Bates, Battle, Bauer, Baxter, Beach, Bean, Beard, Beasley, Beck, Becker, Bell, Bender, Benjamin, Bennett, Benson, Bentley, Benton, Berg, Berger, Bernard, Berry, Best, Bird, Bishop, Black, Blackburn, Blackwell, Blair, Blake, Blanchard, Blankenship, Blevins, Bolton, Bond, Bonner, Booker, Boone, Booth, Bowen, Bowers, Bowman, Boyd, Boyer, Boyle, Bradford, Bradley, Bradshaw, Brady, Branch, Bray, Brennan, Brewer, Bridges, Briggs, Bright, Britt, Brock, Brooks, Brown, Browning, Bruce, Bryan, Bryant, Buchanan, Buck, Buckley, Buckner, Bullock, Burch, Burgess, Burke, Burks, Burnett, Burns, Burris, Burt, Burton, Bush, Butler, Byers, Byrd, Cabrera, Cain, Calderon, Caldwell, Calhoun, Callahan, Camacho, Cameron, Campbell, Campos, Cannon, Cantrell, Cantu, Cardenas, Carey, Carlson, Carney, Carpenter, Carr, Carrillo, Carroll, Carson, Carter, Carver, Case, Casey, Cash, Castaneda, Castillo, Castro, Cervantes, Chambers, Chan, Chandler, Chaney, Chang, Chapman, Charles, Chase, Chavez, Chen, Cherry, Christensen, Christian, Church, Clark, Clarke, Clay, Clayton, Clements, Clemons, Cleveland, Cline, Cobb, Cochran, Coffey, Cohen, Cole, Coleman, Collier, Collins, Colon, Combs, Compton, Conley, Conner, Conrad, Contreras, Conway, Cook, Cooke, Cooley, Cooper, Copeland, Cortez, Cote, Cotton, Cox, Craft, Craig, Crane, Crawford, Crosby, Cross, Cruz, Cummings, Cunningham, Curry, Curtis, Dale, Dalton, Daniel, Daniels, Daugherty, Davenport, David, Davidson, Davis, Dawson, Day, Dean, Decker, Dejesus, Delacruz, Delaney, Deleon, Delgado, Dennis, Diaz, Dickerson, Dickson, Dillard, Dillon, Dixon, Dodson, Dominguez, Donaldson, Donovan, Dorsey, Dotson, Douglas, Downs, Doyle, Drake, Dudley, Duffy, Duke, Duncan, Dunlap, Dunn, Duran, Durham, Dyer, Eaton, Edwards, Elliott, Ellis, Ellison, Emerson, England, English, Erickson, Espinoza, Estes, Estrada, Evans, Everett, Ewing, Farley, Farmer, Farrell, Faulkner, Ferguson, Fernandez, Ferrell, Fields, Figueroa, Finch, Finley, Fischer, Fisher, Fitzgerald, Fitzpatrick, Fleming, Fletcher, Flores, Flowers, Floyd, Flynn, Foley, Forbes, Ford, Foreman, Foster, Fowler, Fox, Francis, Franco, Frank, Franklin, Franks, Frazier, Frederick, Freeman, French, Frost, Fry, Frye, Fuentes, Fuller, Fulton, Gaines, Gallagher, Gallegos, Galloway, Gamble, Garcia, Gardner, Garner, Garrett, Garrison, Garza, Gates, Gay, Gentry, George, Gibbs, Gibson, Gilbert, Giles, Gill, Gillespie, Gilliam, Gilmore, Glass, Glenn, Glover, Goff, Golden, Gomez, Gonzales, Gonzalez, Good, Goodman, Goodwin, Gordon, Gould, Graham, Grant, Graves, Gray, Green, Greene, Greer, Gregory, Griffin, Griffith, Grimes, Gross, Guerra, Guerrero, Guthrie, Gutierrez, Guy, Guzman, Hahn, Hale, Haley, Hall, Hamilton, Hammond, Hampton, Hancock, Haney, Hansen, Hanson, Hardin, Harding, Hardy, Harmon, Harper, Harrell, Harrington, Harris, Harrison, Hart, Hartman, Harvey, Hatfield, Hawkins, Hayden, Hayes, Haynes, Hays, Head, Heath, Hebert, Henderson, Hendricks, Hendrix, Henry, Hensley, Henson, Herman, Hernandez, Herrera, Herring, Hess, Hester, Hewitt, Hickman, Hicks, Higgins, Hill, Hines, Hinton, Hobbs, Hodge, Hodges, Hoffman, Hogan, Holcomb, Holden, Holder, Holland, Holloway, Holman, Holmes, Holt, Hood, Hooper, Hoover, Hopkins, Hopper, Horn, Horne, Horton, House, Houston, Howard, Howe, Howell, Hubbard, Huber, Hudson, Huff, Huffman, Hughes, Hull, Humphrey, Hunt, Hunter, Hurley, Hurst, Hutchinson, Hyde, Ingram, Irwin, Jackson, Jacobs, Jacobson, James, Jarvis, Jefferson, Jenkins, Jennings, Jensen, Jimenez, Johns, Johnson, Johnston, Jones, Jordan, Joseph, Joyce, Joyner, Juarez, Justice, Kane, Kaufman, Keith, Keller, Kelley, Kelly, Kemp, Kennedy, Kent, Kerr, Key, Kidd, Kim, King, Kinney, Kirby, Kirk, Kirkland, Klein, Kline, Knapp, Knight, Knowles, Knox, Koch, Kramer, Lamb, Lambert, Lancaster, Landry, Lane, Lang, Langley, Lara, Larsen, Larson, Lawrence, Lawson, Le, Leach, Leblanc, Lee, Leon, Leonard, Lester, Levine, Levy, Lewis, Lindsay, Lindsey, Little, Livingston, Lloyd, Logan, Long, Lopez, Lott, Love, Lowe, Lowery, Lucas, Luna, Lynch, Lynn, Lyons, Macdonald, Macias, Mack, Madden, Maddox, Maldonado, Malone, Mann, Manning, Marks, Marquez, Marsh, Marshall, Martin, Martinez, Mason, Massey, Mathews, Mathis, Matthews, Maxwell, May, Mayer, Maynard, Mayo, Mays, Mcbride, Mccall, Mccarthy, Mccarty, Mcclain, Mcclure, Mcconnell, Mccormick, Mccoy, Mccray, Mccullough, Mcdaniel, Mcdonald, Mcdowell, Mcfadden, Mcfarland, Mcgee, Mcgowan, Mcguire, Mcintosh, Mcintyre, Mckay, Mckee, Mckenzie, Mckinney, Mcknight, Mclaughlin, Mclean, Mcleod, Mcmahon, Mcmillan, Mcneil, Mcpherson, Meadows, Medina, Mejia, Melendez, Melton, Mendez, Mendoza, Mercado, Mercer, Merrill, Merritt, Meyer, Meyers, Michael, Middleton, Miles, Miller, Mills, Miranda, Mitchell, Molina, Monroe, Montgomery, Montoya, Moody, Moon, Mooney, Moore, Morales, Moran, Moreno, Morgan, Morin, Morris, Morrison, Morrow, Morse, Morton, Moses, Mosley, Moss, Mueller, Mullen, Mullins, Munoz, Murphy, Murray, Myers, Nash, Navarro, Neal, Nelson, Newman, Newton, Nguyen, Nichols, Nicholson, Nielsen, Nieves, Nixon, Noble, Noel, Nolan, Norman, Norris, Norton, Nunez, Obrien, Ochoa, Oconnor, Odom, Odonnell, Oliver, Olsen, Olson, Oneal, Oneil, Oneill, Orr, Ortega, Ortiz, Osborn, Osborne, Owen, Owens, Pace, Pacheco, Padilla, Page, Palmer, Park, Parker, Parks, Parrish, Parsons, Pate, Patel, Patrick, Patterson, Patton, Paul, Payne, Pearson, Peck, Pena, Pennington, Perez, Perkins, Perry, Peters, Petersen, Peterson, Petty, Phelps, Phillips, Pickett, Pierce, Pittman, Pitts, Pollard, Poole, Pope, Porter, Potter, Potts, Powell, Powers, Pratt, Preston, Price, Prince, Pruitt, Puckett, Pugh, Quinn, Ramirez, Ramos, Ramsey, Randall, Randolph, Rasmussen, Ratliff, Ray, Raymond, Reed, Reese, Reeves, Reid, Reilly, Reyes, Reynolds, Rhodes, Rice, Rich, Richard, Richards, Richardson, Richmond, Riddle, Riggs, Riley, Rios, Rivas, Rivera, Rivers, Roach, Robbins, Roberson, Roberts, Robertson, Robinson, Robles, Rocha, Rodgers, Rodriguez, Rodriquez, Rogers, Rojas, Rollins, Roman, Romero, Rosa, Rosales, Rosario, Rose, Ross, Roth, Rowe, Rowland, Roy, Ruiz, Rush, Russell, Russo, Rutledge, Ryan, Salas, Salazar, Salinas, Sampson, Sanchez, Sanders, Sandoval, Sanford, Santana, Santiago, Santos, Sargent, Saunders, Savage, Sawyer, Schmidt, Schneider, Schroeder, Schultz, Schwartz, Scott, Sears, Sellers, Serrano, Sexton, Shaffer, Shannon, Sharp, Sharpe, Shaw, Shelton, Shepard, Shepherd, Sheppard, Sherman, Shields, Short, Silva, Simmons, Simon, Simpson, Sims, Singleton, Skinner, Slater, Sloan, Small, Smith, Snider, Snow, Snyder, Solis, Solomon, Sosa, Soto, Sparks, Spears, Spence, Spencer, Stafford, Stanley, Stanton, Stark, Steele, Stein, Stephens, Stephenson, Stevens, Stevenson, Stewart, Stokes, Stone, Stout, Strickland, Strong, Stuart, Suarez, Sullivan, Summers, Sutton, Swanson, Sweeney, Sweet, Sykes, Talley, Tanner, Tate, Taylor, Terrell, Terry, Thomas, Thompson, Thornton, Tillman, Todd, Torres, Townsend, Tran, Travis, Trevino, Trujillo, Tucker, Turner, Tyler, Tyson, Underwood, Valdez, Valencia, Valentine, Valenzuela, Vance, Vang, Vargas, Vasquez, Vaughan, Vaughn, Vazquez, Vega, Velasquez, Velazquez, Velez, Villarreal, Vincent, Vinson, Wade, Wagner, Walker, Wall, Wallace, Waller, Walls, Walsh, Walter, Walters, Walton, Ward, Ware, Warner, Warren, Washington, Waters, Watkins, Watson, Watts, Weaver, Webb, Weber, Webster, Weeks, Weiss, Welch, Wells, West, Wheeler, Whitaker, White, Whitehead, Whitfield, Whitley, Whitney, Wiggins, Wilcox, Wilder, Wiley, Wilkerson, Wilkins, Wilkinson, William, Williams, Williamson, Willis, Wilson, Winters, Wise, Witt, Wolf, Wolfe, Wong, Wood, Woodard, Woods, Woodward, Wooten, Workman, Wright, Wyatt, Wynn, Yang, Yates, York, Young, Zamora, Zimmerman] - } \ No newline at end of file + } + loremIpsum: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat. \ No newline at end of file diff --git a/src/main/resources/jfairy_en.yml b/src/main/resources/jfairy_en.yml index c07d48c..6f6b3b8 100644 --- a/src/main/resources/jfairy_en.yml +++ b/src/main/resources/jfairy_en.yml @@ -14,7 +14,7 @@ data: companySuffixes: [Associates, Company, Consulting, Inc., Industries, Limited, LLC, Ltd] companyEmails: [info, contact, company, office] - text: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat. + text: But I must explain to you how all this mistaken idea of denouncing of a pleasure and praising pain was born and I will give you a complete account of the system, and expound the actual teachings of the great explorer of the truth, the master-builder of human happiness. No one rejects, dislikes, or avoids pleasure itself, because it is pleasure, but because those who do not know how to pursue pleasure rationally encounter consequences that are extremely painful. Nor again is there anyone who loves or pursues or desires to obtain pain of itself, because it is pain, but occasionally circumstances occur in which toil and pain can procure him some great pleasure. To take a trivial example, which of us ever undertakes laborious physical exercise, except to obtain some advantage from it? But who has any right to find fault with a man who chooses to enjoy a pleasure that has no annoying consequences, or one who avoids a pain that produces no resultant pleasure? telephone_number_formats: ['###-###-###', '###-###-####'] diff --git a/src/main/resources/jfairy_pl.yml b/src/main/resources/jfairy_pl.yml index 317504d..8f7434f 100644 --- a/src/main/resources/jfairy_pl.yml +++ b/src/main/resources/jfairy_pl.yml @@ -14,7 +14,8 @@ data: companySuffixes: [Associates, Company, Consulting, Inc., Industries, Limited, LLC, Ltd] companyEmails: [info, contact, company, office] - text: Lorem ipsum dolor sit amet, consectetur adipisicing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci. Nam congue, pede vitae dapibus aliquet, elit magna vulputate arcu, vel tempus metus leo non est. Etiam sit amet lectus quis est congue mollis. Phasellus congue lacus eget neque. Phasellus ornare, ante vitae consectetuer consequat, purus sapien ultricies dolor, et mollis pede metus eget nisi. Praesent sodales velit quis augue. Cras suscipit, urna at aliquam rhoncus, urna quam viverra nisi, in interdum massa nibh nec erat. + text: > + Nie ma zatem takiego człowieka, który kocha cierpienie samo w sobie, kto by do niego dążył lub chciał go doświadczyć, tylko dlatego, że jest to cierpienie, a dlatego, że czasami zdarzają się takie okoliczności, w których to cierpienie może doprowadzić go do jakiejś wielkiej przyjemności. Dając przykład banalny: któż z nas kiedyś nie podejmował się trudnego wysiłku fizycznego mając na względzie uzyskanie z tego korzyści? Kto ma jakiekolwiek prawo obwiniać człowieka, który wybiera przyjemność nie wiążącą się z przykrymi konsekwencjami, albo tego, kto unika takiego cierpienia, które nie prowadzi do przyjemności? Jednocześnie potępiamy ze słusznym oburzeniem i czujemy niechęć do ludzi, którzy są tak owładnięci urokami nietrwałej przyjemności, tak zaślepieni jej pragnieniem, że nie dostrzegają, iż następstwem ich postępowania będą z pewnością cierpienie i trudności. telephone_number_formats: ['+48#########'] diff --git a/src/test/groovy/eu/codearte/jfairy/producer/TextSpec.groovy b/src/test/groovy/eu/codearte/jfairy/producer/TextSpec.groovy index 666b46c..a982b88 100644 --- a/src/test/groovy/eu/codearte/jfairy/producer/TextSpec.groovy +++ b/src/test/groovy/eu/codearte/jfairy/producer/TextSpec.groovy @@ -20,10 +20,15 @@ class TextSpec extends Specification { def "should be sure that data exists"() { expect: text.loremIpsum() + text.text() text.word() text.word(100) + text.latinWord() + text.latinWord(100) text.sentence() text.sentence(100) + text.latinSentence() + text.latinSentence(100) text.paragraph() text.paragraph(100) } @@ -38,16 +43,36 @@ class TextSpec extends Specification { text.paragraph(100).length() == 10 } + def "should generate Lorem Ipsum"() { + expect: + text.loremIpsum() + } + + def "should generate localised text"() { + expect: + text.text() + } + def "should generate word"() { expect: text.word() } + def "should generate latin word"() { + expect: + text.latinWord() + } + def "should generate sentence"() { expect: text.sentence() } + def "should generate latin sentence"() { + expect: + text.latinSentence() + } + def "should generate paragraph"() { expect: text.paragraph() diff --git a/src/test/groovy/snippets/TextSnippet.groovy b/src/test/groovy/snippets/TextSnippet.groovy index 9eb338b..490e1af 100644 --- a/src/test/groovy/snippets/TextSnippet.groovy +++ b/src/test/groovy/snippets/TextSnippet.groovy @@ -7,11 +7,24 @@ def text = Fairy.create().textProducer() println "* Lorem ipsum *" println text.loremIpsum() +println "* Localised text *" +println text.text() + +println "* Latin words *" +println text.latinWord(1) +println text.latinWord() +println text.latinWord(190) + println "* Words *" println text.word(1) println text.word() println text.word(190) +println "* Latin sentences *" +println text.latinSentence(1) +println text.latinSentence() +println text.latinSentence(190) + println "* Sentences *" println text.sentence() println text.sentence(3)