TextTest.php 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  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. /** @test */
  17. function testItShouldExplodeTheStringToArray()
  18. {
  19. $this->assertSame(
  20. array('中', '文', '測', '試', '真', '有', '趣'),
  21. $this->getMethod('explode')->invokeArgs(null, array('中文測試真有趣'))
  22. );
  23. $this->assertSame(
  24. array('標', '點', ',', '符', '號', '!'),
  25. $this->getMethod('explode')->invokeArgs(null, array('標點,符號!'))
  26. );
  27. }
  28. /** @test */
  29. function testItShouldReturnTheStringLength()
  30. {
  31. $this->assertContains(
  32. $this->getMethod('strlen')->invokeArgs(null, array('中文測試真有趣')),
  33. array(7, 21)
  34. );
  35. }
  36. /** @test */
  37. function testItShouldReturnTheCharacterIsValidStartOrNot()
  38. {
  39. $this->assertTrue($this->getMethod('validStart')->invokeArgs(null, array('中')));
  40. $this->assertTrue($this->getMethod('validStart')->invokeArgs(null, array('2')));
  41. $this->assertTrue($this->getMethod('validStart')->invokeArgs(null, array('Hello')));
  42. $this->assertFalse($this->getMethod('validStart')->invokeArgs(null, array('。')));
  43. $this->assertFalse($this->getMethod('validStart')->invokeArgs(null, array('!')));
  44. }
  45. /** @test */
  46. function testItShouldAppendEndPunctToTheEndOfString()
  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. $this->assertSame(
  57. '中文測試真有趣!',
  58. $this->getMethod('appendEnd')->invokeArgs(null, array('中文測試真有趣!'))
  59. );
  60. }
  61. }