PageRenderTime 47ms CodeModel.GetById 19ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/units/classes/report/fields/runner/tests/memory/phing.php

http://github.com/mageekguy/atoum
PHP | 155 lines | 143 code | 12 blank | 0 comment | 0 complexity | 9e2ff79a57d076e25b04a01d9b6ef001 MD5 | raw file
  1. <?php
  2. namespace mageekguy\atoum\tests\units\report\fields\runner\tests\memory;
  3. use
  4. mageekguy\atoum,
  5. mageekguy\atoum\runner,
  6. mageekguy\atoum\locale,
  7. mageekguy\atoum\tests\units,
  8. mageekguy\atoum\cli\prompt,
  9. mageekguy\atoum\cli\colorizer,
  10. mageekguy\atoum\report\fields\runner\tests\memory
  11. ;
  12. require_once __DIR__ . '/../../../../../../runner.php';
  13. class phing extends atoum\test
  14. {
  15. public function testClass()
  16. {
  17. $this->testedClass->extends('mageekguy\atoum\report\fields\runner\tests\memory\cli');
  18. }
  19. public function test__construct()
  20. {
  21. $this
  22. ->if($field = new memory\phing())
  23. ->then
  24. ->object($field->getPrompt())->isEqualTo(new prompt())
  25. ->object($field->getTitleColorizer())->isEqualTo(new colorizer())
  26. ->object($field->getMemoryColorizer())->isEqualTo(new colorizer())
  27. ->object($field->getLocale())->isEqualTo(new locale())
  28. ->variable($field->getValue())->isNull()
  29. ->variable($field->getTestNumber())->isNull()
  30. ->array($field->getEvents())->isEqualTo(array(atoum\runner::runStop))
  31. ;
  32. }
  33. public function testSetPrompt()
  34. {
  35. $this
  36. ->if($field = new memory\phing())
  37. ->then
  38. ->object($field->setPrompt($prompt = new prompt(uniqid())))->isIdenticalTo($field)
  39. ->object($field->getPrompt())->isIdenticalTo($prompt)
  40. ->object($field->setPrompt())->isIdenticalTo($field)
  41. ->object($field->getPrompt())
  42. ->isNotIdenticalTo($prompt)
  43. ->isEqualTo(new prompt())
  44. ;
  45. }
  46. public function testSetTitleColorizer()
  47. {
  48. $this
  49. ->if($field = new memory\phing())
  50. ->then
  51. ->object($field->setTitleColorizer($colorizer = new colorizer()))->isIdenticalTo($field)
  52. ->object($field->getTitleColorizer())->isIdenticalTo($colorizer)
  53. ->object($field->setTitleColorizer())->isIdenticalTo($field)
  54. ->object($field->getTitleColorizer())
  55. ->isNotIdenticalTo($colorizer)
  56. ->isEqualTo(new colorizer())
  57. ;
  58. }
  59. public function testSetMemoryColorizer()
  60. {
  61. $this
  62. ->if($field = new memory\phing())
  63. ->then
  64. ->object($field->setMemoryColorizer($colorizer = new colorizer()))->isIdenticalTo($field)
  65. ->object($field->getMemoryColorizer())->isIdenticalTo($colorizer)
  66. ->object($field->setMemoryColorizer())->isIdenticalTo($field)
  67. ->object($field->getMemoryColorizer())
  68. ->isNotIdenticalTo($colorizer)
  69. ->isEqualTo(new colorizer())
  70. ;
  71. }
  72. public function testSetLocale()
  73. {
  74. $this
  75. ->if($field = new memory\phing())
  76. ->then
  77. ->object($field->setLocale($locale = new atoum\locale()))->isIdenticalTo($field)
  78. ->object($field->getLocale())->isIdenticalTo($locale)
  79. ->if($field = new memory\phing(null, null, null, $locale = new atoum\locale()))
  80. ->then
  81. ->object($field->setLocale($locale = new atoum\locale()))->isIdenticalTo($field)
  82. ->object($field->getLocale())->isIdenticalTo($locale)
  83. ;
  84. }
  85. public function testHandleEvent()
  86. {
  87. $this
  88. ->if($field = new memory\phing())
  89. ->and($score = new \mock\mageekguy\atoum\runner\score())
  90. ->and($score->getMockController()->getTotalMemoryUsage = function() use (& $totalMemoryUsage) { return $totalMemoryUsage = rand(1, PHP_INT_MAX); })
  91. ->and($runner = new \mock\mageekguy\atoum\runner())
  92. ->and($runner->setScore($score))
  93. ->and($runner->getMockController()->getTestNumber = function () use (& $testNumber) { return $testNumber = rand(0, PHP_INT_MAX); })
  94. ->then
  95. ->boolean($field->handleEvent(atoum\runner::runStart, new atoum\runner()))->isFalse()
  96. ->variable($field->getValue())->isNull()
  97. ->variable($field->getTestNumber())->isNull()
  98. ->boolean($field->handleEvent(atoum\runner::runStop, $runner))->isTrue()
  99. ->integer($field->getValue())->isEqualTo($totalMemoryUsage)
  100. ->integer($field->getTestNumber())->isEqualTo($testNumber)
  101. ;
  102. }
  103. public function test__toString()
  104. {
  105. $this
  106. ->if($score = new \mock\mageekguy\atoum\runner\score())
  107. ->and($score->getMockController()->getTotalMemoryUsage = function() use (& $totalMemoryUsage) { return $totalMemoryUsage = rand(1, PHP_INT_MAX); })
  108. ->and($runner = new \mock\mageekguy\atoum\runner())
  109. ->and($runner->setScore($score))
  110. ->and($runner->getMockController()->getTestNumber = $testNumber = rand(1, PHP_INT_MAX))
  111. ->and($defaultField = new memory\phing())
  112. ->then
  113. ->castToString($defaultField)->isEqualTo(
  114. $defaultField->getPrompt() . $defaultField->getTitleColorizer()->colorize($defaultField->getLocale()->__('Total test memory usage', 'Total tests memory usage', 0)) . ': ' . $defaultField->getMemoryColorizer()->colorize($defaultField->getLocale()->_('unknown')) . '.'
  115. )
  116. ->if($customField = new memory\phing())
  117. ->and($customField->setPrompt($prompt = new prompt(uniqid())))
  118. ->and($customField->setTitleColorizer($titleColorizer = new colorizer(uniqid(), uniqid())))
  119. ->and($customField->setMemoryColorizer($memoryColorizer = new colorizer(uniqid(), uniqid())))
  120. ->and($customField->setLocale($locale = new locale()))
  121. ->then
  122. ->castToString($customField)->isEqualTo(
  123. $prompt . $titleColorizer->colorize($locale->__('Total test memory usage', 'Total tests memory usage', 0)) . ': ' . $memoryColorizer->colorize($locale->_('unknown')) . '.'
  124. )
  125. ->if($defaultField->handleEvent(atoum\runner::runStart, $runner))
  126. ->then
  127. ->castToString($defaultField)->isEqualTo(
  128. $defaultField->getPrompt() . $defaultField->getTitleColorizer()->colorize($defaultField->getLocale()->__('Total test memory usage', 'Total tests memory usage', 0)) . ': ' . $defaultField->getMemoryColorizer()->colorize($defaultField->getLocale()->_('unknown')) . '.'
  129. )
  130. ->if($customField->handleEvent(atoum\runner::runStart, $runner))
  131. ->then
  132. ->castToString($customField)->isEqualTo(
  133. $prompt . $titleColorizer->colorize($locale->__('Total test memory usage', 'Total tests memory usage', 0)) . ': ' . $memoryColorizer->colorize($locale->_('unknown')) . '.'
  134. )
  135. ->if($defaultField->handleEvent(atoum\runner::runStop, $runner))
  136. ->then
  137. ->castToString($defaultField)->isEqualTo($defaultField->getPrompt() . $defaultField->getTitleColorizer()->colorize($defaultField->getLocale()->__('Total test memory usage', 'Total tests memory usage', $testNumber)) . ': ' . $defaultField->getMemoryColorizer()->colorize(sprintf($defaultField->getLocale()->_('%4.2f Mb'), $totalMemoryUsage / 1048576)) . '.')
  138. ->if($customField->handleEvent(atoum\runner::runStop, $runner))
  139. ->then
  140. ->castToString($customField)->isEqualTo($prompt . $titleColorizer->colorize($locale->__('Total test memory usage', 'Total tests memory usage', $testNumber)) . ': ' . $memoryColorizer->colorize(sprintf($locale->_('%4.2f Mb'), $totalMemoryUsage / 1048576)) . '.')
  141. ;
  142. }
  143. }