ResultTest.php 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace Dotenv\Tests;
  3. use Dotenv\Result\Error;
  4. use Dotenv\Result\Success;
  5. use PHPUnit\Framework\TestCase;
  6. class ResultTest extends TestCase
  7. {
  8. public function testSuccessValue()
  9. {
  10. self::assertTrue(Success::create('foo')->error()->isEmpty());
  11. self::assertTrue(Success::create('foo')->success()->isDefined());
  12. self::assertEquals('foo', Success::create('foo')->getSuccess());
  13. }
  14. public function testSuccessMapping()
  15. {
  16. $r = Success::create('foo')
  17. ->mapSuccess('strtoupper')
  18. ->mapError('ucfirst');
  19. self::assertEquals('FOO', $r->getSuccess());
  20. }
  21. /**
  22. * @expectedException \RuntimeException
  23. * @expectedExceptionMessage None has no value.
  24. */
  25. public function testSuccessFail()
  26. {
  27. Success::create('foo')->getError();
  28. }
  29. public function testErrorValue()
  30. {
  31. self::assertTrue(Error::create('foo')->error()->isDefined());
  32. self::assertTrue(Error::create('foo')->success()->isEmpty());
  33. self::assertEquals('foo', Error::create('foo')->getError());
  34. }
  35. public function testErrorMapping()
  36. {
  37. $r = Error::create('foo')
  38. ->mapSuccess('strtoupper')
  39. ->mapError('ucfirst');
  40. self::assertEquals('Foo', $r->getError());
  41. }
  42. /**
  43. * @expectedException \RuntimeException
  44. * @expectedExceptionMessage None has no value.
  45. */
  46. public function testErrorFail()
  47. {
  48. Error::create('foo')->getSuccess();
  49. }
  50. }