/**
  *  @depends  testCreateFromFactory
  */
 public function testVowels(LocaleInterface $en)
 {
     $filler = $en->getVowels();
     $this->assertNotEmpty($filler);
 }
Exemple #2
0
 /**
  * Converts the following characters in the string and returns it:
  *
  *     C, c, E - any consonant (Upper case, lower case, any)
  *     V, v, F - any vowel (Upper case, lower case, any)
  *     L, l, V - any letter (Upper case, lower case, any)
  *     X       - 1-9
  *     x       - 0-9
  *     H       - 0-F
  *
  *  @param string $str the DSL
  *  @param GeneratorInterface $random
  */
 public function generateRandomAlphanumeric($str, GeneratorInterface $random, LocaleInterface $locale)
 {
     $letters = $locale->getLetters();
     $consonants = $locale->getConsonants();
     $vowels = $locale->getVowels();
     $hex = $locale->getHex();
     // loop through each character and convert all unescaped X's to 1-9 and
     // unescaped x's to 0-9.
     $new_str = SimpleString::create("");
     $str = SimpleString::create($str);
     for ($i = 0; $i < $str->length(); $i++) {
         switch ($str->charAt($i)) {
             // Numbers
             case "X":
                 $new_str->append(round($random->generate(1, 9)));
                 break;
             case "x":
                 $new_str->append(round($random->generate(0, 9)));
                 break;
                 // Hex
             // Hex
             case "H":
                 $new_str->append($hex->charAt(round($random->generate(0, $hex->length()) - 1)));
                 break;
                 // Letters
             // Letters
             case "L":
                 $new_str->append($letters->charAt(round($random->generate(0, $letters->length()) - 1)));
                 break;
             case "l":
                 $new_str->append(\mb_strtolower($letters->charAt(round($random->generate(0, $letters->length()) - 1))));
                 break;
             case "D":
                 $bool = round($random->generate(0, 1));
                 if ($bool === 0) {
                     $new_str->append($letters->charAt(round($random->generate(0, $letters->length()) - 1)));
                 } else {
                     $new_str->append(\mb_strtolower($letters->charAt(round($random->generate(0, $letters->length()) - 1))));
                 }
                 break;
                 // Consonants
             // Consonants
             case "C":
                 $new_str->append($consonants->charAt(round($random->generate(0, $consonants->length()) - 1)));
                 break;
             case "c":
                 $new_str->append(\mb_strtolower($consonants->charAt(round($random->generate(0, $consonants->length()) - 1))));
                 break;
             case "E":
                 $bool = round($random->generate(0, 1));
                 if ($bool === 0) {
                     $new_str->append($consonants->charAt(round($random->generate(0, $consonants->length()) - 1)));
                 } else {
                     $new_str->append(\mb_strtolower($consonants->charAt(round($random->generate(0, $consonants->length()) - 1))));
                 }
                 break;
                 // Vowels
             // Vowels
             case "V":
                 $new_str->append($vowels->charAt(round($random->generate(0, $vowels->length()) - 1)));
                 break;
             case "v":
                 $new_str->append(\mb_strtolower($vowels->charAt(round($random->generate(0, $vowels->length()) - 1))));
                 break;
             case "F":
                 $bool = round($random->generate(0, 1));
                 if ($bool === 0) {
                     $new_str->append($vowels->charAt(round($random->generate(0, $vowels->length()) - 1)));
                 } else {
                     $new_str->append(\mb_strtolower($vowels->charAt(round($random->generate(0, $vowels->length()) - 1))));
                 }
                 break;
                 //space char
             //space char
             case "S":
             case "s":
                 $new_str->append(" ");
                 break;
             default:
                 $new_str->append($str->charAt($i));
                 break;
         }
     }
     return (string) $new_str;
 }