PageRenderTime 23ms CodeModel.GetById 18ms RepoModel.GetById 0ms app.codeStats 0ms

/tests/Zend/Measure/EnergyTest.php

https://github.com/Exercise/zf2
PHP | 390 lines | 183 code | 56 blank | 151 comment | 0 complexity | 3c0e7f6d44651927484dea101535db51 MD5 | raw file
  1. <?php
  2. /**
  3. * Zend Framework
  4. *
  5. * LICENSE
  6. *
  7. * This source file is subject to the new BSD license that is bundled
  8. * with this package in the file LICENSE.txt.
  9. * It is also available through the world-wide-web at this URL:
  10. * http://framework.zend.com/license/new-bsd
  11. * If you did not receive a copy of the license and are unable to
  12. * obtain it through the world-wide-web, please send an email
  13. * to license@zend.com so we can send you a copy immediately.
  14. *
  15. * @category Zend
  16. * @package Zend_Measure
  17. * @subpackage UnitTests
  18. * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. * @version $Id$
  21. */
  22. /**
  23. * @namespace
  24. */
  25. namespace ZendTest\Measure;
  26. use Zend\Measure;
  27. /**
  28. * @category Zend
  29. * @package Zend_Measure
  30. * @subpackage UnitTests
  31. * @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
  32. * @license http://framework.zend.com/license/new-bsd New BSD License
  33. * @group Zend_Measure
  34. */
  35. class EnergyTest extends \PHPUnit_Framework_TestCase
  36. {
  37. /**
  38. * test for Energy initialisation
  39. * expected instance
  40. */
  41. public function testEnergyInit()
  42. {
  43. $value = new Measure\Energy('100',Measure\Energy::STANDARD,'de');
  44. $this->assertTrue($value instanceof Measure\Energy,'Zend\Measure\Energy Object not returned');
  45. }
  46. /**
  47. * test for exception unknown type
  48. * expected exception
  49. */
  50. public function testEnergyUnknownType()
  51. {
  52. try {
  53. $value = new Measure\Energy('100','Energy::UNKNOWN','de');
  54. $this->fail('Exception expected because of unknown type');
  55. } catch (Measure\Exception $e) {
  56. // success
  57. }
  58. }
  59. /**
  60. * test for exception unknown value
  61. * expected exception
  62. */
  63. public function testEnergyUnknownValue()
  64. {
  65. try {
  66. $value = new Measure\Energy('novalue',Measure\Energy::STANDARD,'de');
  67. $this->fail('Exception expected because of empty value');
  68. } catch (Measure\Exception $e) {
  69. // success
  70. }
  71. }
  72. /**
  73. * test for exception unknown locale
  74. * expected root value
  75. */
  76. public function testEnergyUnknownLocale()
  77. {
  78. try {
  79. $value = new Measure\Energy('100',Measure\Energy::STANDARD,'nolocale');
  80. $this->fail('Exception expected because of unknown locale');
  81. } catch (Measure\Exception $e) {
  82. // success
  83. }
  84. }
  85. /**
  86. * test for standard locale
  87. * expected integer
  88. */
  89. public function testEnergyNoLocale()
  90. {
  91. $value = new Measure\Energy('100',Measure\Energy::STANDARD);
  92. $this->assertEquals(100, $value->getValue(),'Zend\Measure\Energy value expected');
  93. }
  94. /**
  95. * test for positive value
  96. * expected integer
  97. */
  98. public function testEnergyValuePositive()
  99. {
  100. $value = new Measure\Energy('100',Measure\Energy::STANDARD,'de');
  101. $this->assertEquals(100, $value->getValue(), 'Zend\Measure\Energy value expected to be a positive integer');
  102. }
  103. /**
  104. * test for negative value
  105. * expected integer
  106. */
  107. public function testEnergyValueNegative()
  108. {
  109. $value = new Measure\Energy('-100',Measure\Energy::STANDARD,'de');
  110. $this->assertEquals(-100, $value->getValue(), 'Zend\Measure\Energy value expected to be a negative integer');
  111. }
  112. /**
  113. * test for decimal value
  114. * expected float
  115. */
  116. public function testEnergyValueDecimal()
  117. {
  118. $value = new Measure\Energy('-100,200',Measure\Energy::STANDARD,'de');
  119. $this->assertEquals(-100.200, $value->getValue(), 'Zend\Measure\Energy value expected to be a decimal value');
  120. }
  121. /**
  122. * test for decimal seperated value
  123. * expected float
  124. */
  125. public function testEnergyValueDecimalSeperated()
  126. {
  127. $value = new Measure\Energy('-100.100,200',Measure\Energy::STANDARD,'de');
  128. $this->assertEquals(-100100.200, $value->getValue(),'Zend\Measure\Energy Object not returned');
  129. }
  130. /**
  131. * test for string with integrated value
  132. * expected float
  133. */
  134. public function testEnergyValueString()
  135. {
  136. $value = new Measure\Energy('-100.100,200',Measure\Energy::STANDARD,'de');
  137. $this->assertEquals(-100100.200, $value->getValue(),'Zend\Measure\Energy Object not returned');
  138. }
  139. /**
  140. * test for equality
  141. * expected true
  142. */
  143. public function testEnergyEquality()
  144. {
  145. $value = new Measure\Energy('-100.100,200',Measure\Energy::STANDARD,'de');
  146. $newvalue = new Measure\Energy('-100.100,200',Measure\Energy::STANDARD,'de');
  147. $this->assertTrue($value->equals($newvalue),'Zend\Measure\Energy Object should be equal');
  148. }
  149. /**
  150. * test for no equality
  151. * expected false
  152. */
  153. public function testEnergyNoEquality()
  154. {
  155. $value = new Measure\Energy('-100.100,200',Measure\Energy::STANDARD,'de');
  156. $newvalue = new Measure\Energy('-100,200',Measure\Energy::STANDARD,'de');
  157. $this->assertFalse($value->equals($newvalue),'Zend\Measure\Energy Object should be not equal');
  158. }
  159. /**
  160. * test for set positive value
  161. * expected integer
  162. */
  163. public function testEnergySetPositive()
  164. {
  165. $value = new Measure\Energy('100',Measure\Energy::STANDARD,'de');
  166. $value->setValue('200',Measure\Energy::STANDARD,'de');
  167. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Energy value expected to be a positive integer');
  168. }
  169. /**
  170. * test for set negative value
  171. * expected integer
  172. */
  173. public function testEnergySetNegative()
  174. {
  175. $value = new Measure\Energy('-100',Measure\Energy::STANDARD,'de');
  176. $value->setValue('-200',Measure\Energy::STANDARD,'de');
  177. $this->assertEquals(-200, $value->getValue(), 'Zend\Measure\Energy value expected to be a negative integer');
  178. }
  179. /**
  180. * test for set decimal value
  181. * expected float
  182. */
  183. public function testEnergySetDecimal()
  184. {
  185. $value = new Measure\Energy('-100,200',Measure\Energy::STANDARD,'de');
  186. $value->setValue('-200,200',Measure\Energy::STANDARD,'de');
  187. $this->assertEquals(-200.200, $value->getValue(), 'Zend\Measure\Energy value expected to be a decimal value');
  188. }
  189. /**
  190. * test for set decimal seperated value
  191. * expected float
  192. */
  193. public function testEnergySetDecimalSeperated()
  194. {
  195. $value = new Measure\Energy('-100.100,200',Measure\Energy::STANDARD,'de');
  196. $value->setValue('-200.200,200',Measure\Energy::STANDARD,'de');
  197. $this->assertEquals(-200200.200, $value->getValue(),'Zend\Measure\Energy Object not returned');
  198. }
  199. /**
  200. * test for set string with integrated value
  201. * expected float
  202. */
  203. public function testEnergySetString()
  204. {
  205. $value = new Measure\Energy('-100.100,200',Measure\Energy::STANDARD,'de');
  206. $value->setValue('-200.200,200',Measure\Energy::STANDARD,'de');
  207. $this->assertEquals(-200200.200, $value->getValue(),'Zend\Measure\Energy Object not returned');
  208. }
  209. /**
  210. * test for exception unknown type
  211. * expected exception
  212. */
  213. public function testEnergySetUnknownType()
  214. {
  215. try {
  216. $value = new Measure\Energy('100',Measure\Energy::STANDARD,'de');
  217. $value->setValue('-200.200,200','Energy::UNKNOWN','de');
  218. $this->fail('Exception expected because of unknown type');
  219. } catch (Measure\Exception $e) {
  220. // success
  221. }
  222. }
  223. /**
  224. * test for exception unknown value
  225. * expected exception
  226. */
  227. public function testEnergySetUnknownValue()
  228. {
  229. try {
  230. $value = new Measure\Energy('100',Measure\Energy::STANDARD,'de');
  231. $value->setValue('novalue',Measure\Energy::STANDARD,'de');
  232. $this->fail('Exception expected because of empty value');
  233. } catch (Measure\Exception $e) {
  234. // success
  235. }
  236. }
  237. /**
  238. * test for exception unknown locale
  239. * expected exception
  240. */
  241. public function testEnergySetUnknownLocale()
  242. {
  243. try {
  244. $value = new Measure\Energy('100',Measure\Energy::STANDARD,'de');
  245. $value->setValue('200',Measure\Energy::STANDARD,'nolocale');
  246. $this->fail('Exception expected because of unknown locale');
  247. } catch (Measure\Exception $e) {
  248. // success
  249. }
  250. }
  251. /**
  252. * test for exception unknown locale
  253. * expected exception
  254. */
  255. public function testEnergySetWithNoLocale()
  256. {
  257. $value = new Measure\Energy('100', Measure\Energy::STANDARD, 'de');
  258. $value->setValue('200', Measure\Energy::STANDARD);
  259. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Energy value expected to be a positive integer');
  260. }
  261. /**
  262. * test setting type
  263. * expected new type
  264. */
  265. public function testEnergySetType()
  266. {
  267. $value = new Measure\Energy('-100',Measure\Energy::STANDARD,'de');
  268. $value->setType(Measure\Energy::ERG);
  269. $this->assertEquals(Measure\Energy::ERG, $value->getType(), 'Zend\Measure\Energy type expected');
  270. }
  271. /**
  272. * test setting computed type
  273. * expected new type
  274. * @group foo
  275. */
  276. public function testEnergySetComputedType1()
  277. {
  278. $value = new Measure\Energy('-100',Measure\Energy::ERG,'de');
  279. $value->setType(Measure\Energy::KILOTON);
  280. $this->assertEquals(Measure\Energy::KILOTON, $value->getType(), 'Zend\Measure\Energy type expected');
  281. }
  282. /**
  283. * test setting computed type
  284. * expected new type
  285. */
  286. public function testEnergySetComputedType2()
  287. {
  288. $value = new Measure\Energy('-100',Measure\Energy::KILOTON,'de');
  289. $value->setType(Measure\Energy::ERG);
  290. $this->assertEquals(Measure\Energy::ERG, $value->getType(), 'Zend\Measure\Energy type expected');
  291. }
  292. /**
  293. * test setting unknown type
  294. * expected new type
  295. */
  296. public function testEnergySetTypeFailed()
  297. {
  298. try {
  299. $value = new Measure\Energy('-100',Measure\Energy::STANDARD,'de');
  300. $value->setType('Energy::UNKNOWN');
  301. $this->fail('Exception expected because of unknown type');
  302. } catch (Measure\Exception $e) {
  303. // success
  304. }
  305. }
  306. /**
  307. * test toString
  308. * expected string
  309. */
  310. public function testEnergyToString()
  311. {
  312. $value = new Measure\Energy('-100',Measure\Energy::STANDARD,'de');
  313. $this->assertEquals('-100 J', $value->toString(), 'Value -100 J expected');
  314. }
  315. /**
  316. * test __toString
  317. * expected string
  318. */
  319. public function testEnergy_ToString()
  320. {
  321. $value = new Measure\Energy('-100',Measure\Energy::STANDARD,'de');
  322. $this->assertEquals('-100 J', $value->__toString(), 'Value -100 J expected');
  323. }
  324. /**
  325. * test getConversionList
  326. * expected array
  327. */
  328. public function testEnergyConversionList()
  329. {
  330. $value = new Measure\Energy('-100',Measure\Energy::STANDARD,'de');
  331. $unit = $value->getConversionList();
  332. $this->assertTrue(is_array($unit), 'Array expected');
  333. }
  334. }