ArrTest.php 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. <?php
  2. /**
  3. * TLDSupport: Support package for TLDDatabase and TLDExtract.
  4. *
  5. * @link https://github.com/layershifter/TLDSupport
  6. *
  7. * @copyright Copyright (c) 2016, Alexander Fedyashov
  8. * @license https://raw.githubusercontent.com/layershifter/TLDSupport/master/LICENSE Apache 2.0 License
  9. */
  10. namespace LayerShifter\TLDSupport\Tests\Helpers;
  11. use LayerShifter\TLDSupport\Helpers\Arr;
  12. /**
  13. * Test cases for Helpers\Arr class.
  14. */
  15. class ArrTest extends \PHPUnit_Framework_TestCase
  16. {
  17. /**
  18. * Test for first() method.
  19. *
  20. * @return void
  21. */
  22. public function testFirst()
  23. {
  24. self::assertEquals(1, Arr::first([1, 2, 3]));
  25. self::assertEquals('a', Arr::first(['a', 'b', 'c']));
  26. self::assertNotEquals('b', Arr::first(['a', 'b', 'c']));
  27. self::assertEquals(2, Arr::first([1, 2, 3], function ($value) {
  28. return $value === 2;
  29. }));
  30. self::assertEquals(null, Arr::first([1, 2, 3], function ($value) {
  31. return $value === 20;
  32. }));
  33. self::assertInternalType('int', Arr::first([1, 2, 3]));
  34. self::assertInternalType('string', Arr::first(['a', 'b', 'c']));
  35. }
  36. /**
  37. * Test for last() method.
  38. *
  39. * @return void
  40. */
  41. public function testLast()
  42. {
  43. self::assertEquals(3, Arr::last([1, 2, 3]));
  44. self::assertEquals('c', Arr::last(['a', 'b', 'c']));
  45. self::assertNotEquals('b', Arr::last(['a', 'b', 'c']));
  46. self::assertEquals(2, Arr::last([1, 2, 3], function ($value) {
  47. return $value === 2;
  48. }));
  49. self::assertEquals(null, Arr::last([1, 2, 3], function ($value) {
  50. return $value === 20;
  51. }));
  52. self::assertInternalType('int', Arr::last([1, 2, 3]));
  53. self::assertInternalType('string', Arr::last(['a', 'b', 'c']));
  54. }
  55. }