JobStatusTest.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115
  1. <?php
  2. /**
  3. * Gearman Bundle for Symfony2
  4. *
  5. * @author Marc Morera <yuhu@mmoreram.com>
  6. * @since 2013
  7. */
  8. namespace Mmoreram\GearmanBundle\Tests\Module;
  9. use Mmoreram\GearmanBundle\Module\JobStatus;
  10. /**
  11. * Tests JobStatusTest class
  12. */
  13. class JobStatusTest extends \PHPUnit_Framework_TestCase
  14. {
  15. /**
  16. * Testing job status
  17. *
  18. * @dataProvider dataProvider
  19. */
  20. public function testJobStatusNonExistant($known, $running, $completed, $completionTotal, $isKnown, $isRunning, $getCompleted, $getCompletionTotal, $getCompletionPercent, $isFinished)
  21. {
  22. $jobStatus = new JobStatus(array(
  23. $known,
  24. $running,
  25. $completed,
  26. $completionTotal
  27. ));
  28. $this->assertEquals($jobStatus->isKnown(), $isKnown);
  29. $this->assertEquals($jobStatus->isRunning(), $isRunning);
  30. $this->assertEquals($jobStatus->getCompleted(), $getCompleted);
  31. $this->assertEquals($jobStatus->getCompletionTotal(), $getCompletionTotal);
  32. $this->assertEquals($jobStatus->getCompletionPercent(), $getCompletionPercent);
  33. $this->assertEquals($jobStatus->isFinished(), $isFinished);
  34. }
  35. /**
  36. * Data provider
  37. */
  38. public function dataProvider()
  39. {
  40. return array(
  41. /**
  42. * Testing when job does not exist
  43. */
  44. array(
  45. false,
  46. false,
  47. null,
  48. null,
  49. false,
  50. false,
  51. 0,
  52. 0,
  53. 0,
  54. false
  55. ),
  56. /**
  57. * Testing when job is started
  58. */
  59. array(
  60. true,
  61. true,
  62. 0,
  63. 10,
  64. true,
  65. true,
  66. 0,
  67. 10,
  68. 0,
  69. false
  70. ),
  71. /**
  72. * Testing when job is still running
  73. */
  74. array(
  75. true,
  76. true,
  77. 5,
  78. 10,
  79. true,
  80. true,
  81. 5,
  82. 10,
  83. 0.5,
  84. false
  85. ),
  86. /**
  87. * Testing when job is already finished
  88. */
  89. array(
  90. true,
  91. false,
  92. 10,
  93. 10,
  94. true,
  95. false,
  96. 10,
  97. 10,
  98. 1,
  99. true
  100. ),
  101. );
  102. }
  103. }