ProgressHelperTest.php 2.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102
  1. <?php
  2. namespace Tools\Test\TestCase\View\Helper;
  3. use Cake\View\View;
  4. use Tools\TestSuite\TestCase;
  5. use Tools\View\Helper\ProgressHelper;
  6. class ProgressHelperTest extends TestCase {
  7. /**
  8. * @var \Cake\View\View
  9. */
  10. protected $View;
  11. /**
  12. * @var \Tools\View\Helper\ProgressHelper
  13. */
  14. protected $progressHelper;
  15. /**
  16. * @return void
  17. */
  18. public function setUp() {
  19. parent::setUp();
  20. $this->View = new View(null);
  21. $this->progressHelper = new ProgressHelper($this->View);
  22. }
  23. /**
  24. * @return void
  25. */
  26. public function testDraw() {
  27. $result = $this->progressHelper->draw(0.00, 3);
  28. $this->assertSame('⬜⬜⬜', $result);
  29. $result = $this->progressHelper->draw(1.00, 3);
  30. $this->assertSame('⬛⬛⬛', $result);
  31. $result = $this->progressHelper->draw(0.50, 3);
  32. $this->assertSame('⬛⬛⬜', $result);
  33. $result = $this->progressHelper->draw(0.30, 5);
  34. $this->assertSame('⬛⬛⬜⬜⬜', $result);
  35. $result = $this->progressHelper->draw(0.01, 3);
  36. $this->assertSame('⬛⬜⬜', $result);
  37. $result = $this->progressHelper->draw(0.99, 3);
  38. $this->assertSame('⬛⬛⬜', $result);
  39. }
  40. /**
  41. * @return void
  42. */
  43. public function testProgressBar() {
  44. $result = $this->progressHelper->progressBar(0.001, 3);
  45. $this->assertSame('<span title="1%">⬛⬜⬜</span>', $result);
  46. $result = $this->progressHelper->progressBar(0.999, 3);
  47. $this->assertSame('<span title="99%">⬛⬛⬜</span>', $result);
  48. $result = $this->progressHelper->progressBar(0.000, 3);
  49. $this->assertSame('<span title="0%">⬜⬜⬜</span>', $result);
  50. $result = $this->progressHelper->progressBar(1.000, 3);
  51. $this->assertSame('<span title="100%">⬛⬛⬛</span>', $result);
  52. }
  53. /**
  54. * @return void
  55. */
  56. public function testCalculatePercentage() {
  57. $result = $this->progressHelper->calculatePercentage(0, 0);
  58. $this->assertSame(0.00, $result);
  59. $result = $this->progressHelper->calculatePercentage(0.0, 0.0);
  60. $this->assertSame(0.00, $result);
  61. $result = $this->progressHelper->calculatePercentage(997, 1);
  62. $this->assertSame(0.01, $result);
  63. $result = $this->progressHelper->calculatePercentage(997, 996);
  64. $this->assertSame(0.99, $result);
  65. $result = $this->progressHelper->calculatePercentage(997, 997);
  66. $this->assertSame(1.00, $result);
  67. }
  68. /**
  69. * @return void
  70. */
  71. public function testRoundPercentage() {
  72. $result = $this->progressHelper->roundPercentage(0.001);
  73. $this->assertSame(0.01, $result);
  74. $result = $this->progressHelper->roundPercentage(0.999);
  75. $this->assertSame(0.99, $result);
  76. }
  77. }