CompanyTest.php 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576
  1. <?php
  2. namespace Faker\Test\Provider\fr_FR;
  3. use Faker\Calculator\Luhn;
  4. use Faker\Generator;
  5. use Faker\Provider\fr_FR\Company;
  6. use PHPUnit\Framework\TestCase;
  7. class CompanyTest extends TestCase
  8. {
  9. private $faker;
  10. public function setUp()
  11. {
  12. $faker = new Generator();
  13. $faker->addProvider(new Company($faker));
  14. $this->faker = $faker;
  15. }
  16. public function testSiretReturnsAValidSiret()
  17. {
  18. $siret = $this->faker->siret(false);
  19. $this->assertRegExp("/^\d{14}$/", $siret);
  20. $this->assertTrue(Luhn::isValid($siret));
  21. }
  22. public function testSiretReturnsAWellFormattedSiret()
  23. {
  24. $siret = $this->faker->siret();
  25. $this->assertRegExp("/^\d{3}\s\d{3}\s\d{3}\s\d{5}$/", $siret);
  26. $siret = str_replace(' ', '', $siret);
  27. $this->assertTrue(Luhn::isValid($siret));
  28. }
  29. public function testSirenReturnsAValidSiren()
  30. {
  31. $siren = $this->faker->siren(false);
  32. $this->assertRegExp("/^\d{9}$/", $siren);
  33. $this->assertTrue(Luhn::isValid($siren));
  34. }
  35. public function testSirenReturnsAWellFormattedSiren()
  36. {
  37. $siren = $this->faker->siren();
  38. $this->assertRegExp("/^\d{3}\s\d{3}\s\d{3}$/", $siren);
  39. $siren = str_replace(' ', '', $siren);
  40. $this->assertTrue(Luhn::isValid($siren));
  41. }
  42. public function testCatchPhraseReturnsValidCatchPhrase()
  43. {
  44. $this->assertTrue(TestableCompany::isCatchPhraseValid($this->faker->catchPhrase()));
  45. }
  46. public function testIsCatchPhraseValidReturnsFalseWhenAWordsAppearsTwice()
  47. {
  48. $isCatchPhraseValid = TestableCompany::isCatchPhraseValid('La sécurité de rouler en toute sécurité');
  49. $this->assertFalse($isCatchPhraseValid);
  50. }
  51. public function testIsCatchPhraseValidReturnsTrueWhenNoWordAppearsTwice()
  52. {
  53. $isCatchPhraseValid = TestableCompany::isCatchPhraseValid('La sécurité de rouler en toute simplicité');
  54. $this->assertTrue($isCatchPhraseValid);
  55. }
  56. }
  57. class TestableCompany extends Company
  58. {
  59. public static function isCatchPhraseValid($catchPhrase)
  60. {
  61. return parent::isCatchPhraseValid($catchPhrase);
  62. }
  63. }