TextTest.php 2.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475
  1. <?php
  2. namespace Faker\Test\Provider\zh_TW;
  3. use PHPUnit\Framework\TestCase;
  4. class TextTest extends TestCase
  5. {
  6. private $textClass;
  7. public function setUp()
  8. {
  9. $this->textClass = new \ReflectionClass('Faker\Provider\zh_TW\Text');
  10. }
  11. protected function getMethod($name) {
  12. $method = $this->textClass->getMethod($name);
  13. $method->setAccessible(true);
  14. return $method;
  15. }
  16. function testItShouldExplodeTheStringToArray()
  17. {
  18. $this->assertSame(
  19. array('中', '文', '測', '試', '真', '有', '趣'),
  20. $this->getMethod('explode')->invokeArgs(null, array('中文測試真有趣'))
  21. );
  22. $this->assertSame(
  23. array('標', '點', ',', '符', '號', '!'),
  24. $this->getMethod('explode')->invokeArgs(null, array('標點,符號!'))
  25. );
  26. }
  27. function testItShouldReturnTheStringLength()
  28. {
  29. $this->assertContains(
  30. $this->getMethod('strlen')->invokeArgs(null, array('中文測試真有趣')),
  31. array(7, 21)
  32. );
  33. }
  34. function testItShouldReturnTheCharacterIsValidStartOrNot()
  35. {
  36. $this->assertTrue($this->getMethod('validStart')->invokeArgs(null, array('中')));
  37. $this->assertTrue($this->getMethod('validStart')->invokeArgs(null, array('2')));
  38. $this->assertTrue($this->getMethod('validStart')->invokeArgs(null, array('Hello')));
  39. $this->assertFalse($this->getMethod('validStart')->invokeArgs(null, array('。')));
  40. $this->assertFalse($this->getMethod('validStart')->invokeArgs(null, array('!')));
  41. }
  42. function testItShouldAppendEndPunctToTheEndOfString()
  43. {
  44. $this->assertSame(
  45. '中文測試真有趣。',
  46. $this->getMethod('appendEnd')->invokeArgs(null, array('中文測試真有趣'))
  47. );
  48. $this->assertSame(
  49. '中文測試真有趣。',
  50. $this->getMethod('appendEnd')->invokeArgs(null, array('中文測試真有趣,'))
  51. );
  52. $this->assertSame(
  53. '中文測試真有趣!',
  54. $this->getMethod('appendEnd')->invokeArgs(null, array('中文測試真有趣!'))
  55. );
  56. }
  57. }