/tests/Zend/Measure/AccelerationTest.php

https://github.com/MontmereLimited/zf2 · PHP · 276 lines · 150 code · 33 blank · 93 comment · 0 complexity · f4117049d4128316dce98b9ca4bebea3 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-2012 Zend Technologies USA Inc. (http://www.zend.com)
  19. * @license http://framework.zend.com/license/new-bsd New BSD License
  20. */
  21. /**
  22. * @namespace
  23. */
  24. namespace ZendTest\Measure;
  25. use Zend\Measure;
  26. use Zend\Locale;
  27. /**
  28. * PHPUnit test case
  29. */
  30. /**
  31. * @category Zend
  32. * @package Zend_Measure
  33. * @subpackage UnitTests
  34. * @copyright Copyright (c) 2005-2012 Zend Technologies USA Inc. (http://www.zend.com)
  35. * @license http://framework.zend.com/license/new-bsd New BSD License
  36. * @group Zend_Measure
  37. */
  38. class AccelerationTest extends CommonTestCase
  39. {
  40. /**
  41. * test for new object
  42. * expected instance
  43. */
  44. public function testAccelerationInit()
  45. {
  46. $value = new Measure\Acceleration('100',Measure\Acceleration::STANDARD,'de');
  47. $this->assertTrue($value instanceof Measure\Acceleration,'Zend\Measure\Acceleration Object not returned');
  48. $this->assertEquals(100, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a positive integer');
  49. // no type
  50. $value = new Measure\Acceleration('100','de');
  51. $this->assertTrue($value instanceof Measure\Acceleration,'Zend\Measure\Acceleration Object not returned');
  52. // unknown type
  53. try {
  54. $value = new Measure\Acceleration('100','Acceleration::UNKNOWN','de');
  55. $this->fail('Exception expected because of unknown type');
  56. } catch (Measure\Exception $e) {
  57. // success
  58. }
  59. // no value
  60. try {
  61. $value = new Measure\Acceleration('novalue',Measure\Acceleration::STANDARD,'de');
  62. $this->fail('Exception expected because of empty value');
  63. } catch (Measure\Exception $e) {
  64. // success
  65. }
  66. // false locale
  67. try {
  68. $value = new Measure\Acceleration('100',Measure\Acceleration::STANDARD,'nolocale');
  69. $this->fail('Exception expected because of unknown locale');
  70. } catch (Measure\Exception $e) {
  71. // success
  72. }
  73. // no locale
  74. $value = new Measure\Acceleration('100',Measure\Acceleration::STANDARD);
  75. $this->assertEquals(100, $value->getValue(),'Zend\Measure\Acceleration value expected');
  76. // negative value
  77. $locale = new Locale\Locale('de');
  78. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,$locale);
  79. $this->assertEquals(-100, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a negative integer');
  80. // seperated value
  81. $value = new Measure\Acceleration('-100,200',Measure\Acceleration::STANDARD,$locale);
  82. $this->assertEquals(-100.200, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a decimal value');
  83. // negative seperated value
  84. $value = new Measure\Acceleration('-100.100,200',Measure\Acceleration::STANDARD,$locale);
  85. $this->assertEquals(-100100.200, $value->getValue(),'Zend\Measure\Acceleration Object not returned');
  86. // value with string
  87. $value = new Measure\Acceleration('-100.100,200',Measure\Acceleration::STANDARD,'de');
  88. $this->assertEquals(-100100.200, $value->getValue(),'Zend\Measure\Acceleration Object not returned');
  89. }
  90. /**
  91. * test for equals()
  92. * expected true
  93. */
  94. public function testAccelerationEquals()
  95. {
  96. $value = new Measure\Acceleration('-100.100,200',Measure\Acceleration::STANDARD,'de');
  97. $newvalue = new Measure\Acceleration('-100.100,200',Measure\Acceleration::STANDARD,'de');
  98. $this->assertTrue($value->equals($newvalue),'Zend\Measure\Acceleration Object should be equal');
  99. $value = new Measure\Acceleration('-100.100,200',Measure\Acceleration::STANDARD,'de');
  100. $newvalue = new Measure\Acceleration('-100,200',Measure\Acceleration::STANDARD,'de');
  101. $this->assertFalse($value->equals($newvalue),'Zend\Measure\Acceleration Object should be not equal');
  102. }
  103. /**
  104. * test for setvalue()
  105. * expected integer
  106. */
  107. public function testAccelerationSetValue()
  108. {
  109. $value = new Measure\Acceleration('100',Measure\Acceleration::STANDARD,'de');
  110. $value->setValue('200',Measure\Acceleration::STANDARD,'de');
  111. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a positive integer');
  112. $locale = new Locale\Locale('de_AT');
  113. $value->setValue('200',$locale);
  114. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a positive integer');
  115. $value->setValue('200','de');
  116. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a positive integer');
  117. $value->setValue('-200',Measure\Acceleration::STANDARD,'de');
  118. $this->assertEquals(-200, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a negative integer');
  119. $value->setValue('-200,200',Measure\Acceleration::STANDARD,'de');
  120. $this->assertEquals(-200.200, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a decimal value');
  121. $value->setValue('-200.200,200',Measure\Acceleration::STANDARD,'de');
  122. $this->assertEquals(-200200.200, $value->getValue(),'Zend\Measure\Acceleration Object not returned');
  123. $value->setValue('-200.200,200',Measure\Acceleration::STANDARD,'de');
  124. $this->assertEquals(-200200.200, $value->getValue(),'Zend\Measure\Acceleration Object not returned');
  125. $value->setValue('200', Measure\Acceleration::STANDARD);
  126. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Acceleration value expected to be a positive integer');
  127. try {
  128. $value->setValue('-200.200,200','Acceleration::UNKNOWN','de');
  129. $this->fail('Exception expected because of unknown type');
  130. } catch (Measure\Exception $e) {
  131. // success
  132. }
  133. try {
  134. $value->setValue('novalue',Measure\Acceleration::STANDARD,'de');
  135. $this->fail('Exception expected because of empty value');
  136. } catch (Measure\Exception $e) {
  137. // success
  138. }
  139. try {
  140. $value = new Measure\Acceleration('100',Measure\Acceleration::STANDARD,'de');
  141. $value->setValue('200',Measure\Acceleration::STANDARD,'nolocale');
  142. $this->fail('Exception expected because of unknown locale');
  143. } catch (Measure\Exception $e) {
  144. // success
  145. }
  146. }
  147. /**
  148. * test setting type
  149. * expected new type
  150. */
  151. public function testAccelerationSetType()
  152. {
  153. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  154. $value->setType(Measure\Acceleration::GRAV);
  155. $this->assertEquals(Measure\Acceleration::GRAV, $value->getType(), 'Zend\Measure\Acceleration type expected');
  156. $value = new Measure\Acceleration('-100',Measure\Acceleration::MILE_PER_HOUR_MINUTE,'de');
  157. $value->setType(Measure\Acceleration::GRAV);
  158. $this->assertEquals(Measure\Acceleration::GRAV, $value->getType(), 'Zend\Measure\Acceleration type expected');
  159. $value = new Measure\Acceleration('-100',Measure\Acceleration::GRAV,'de');
  160. $value->setType(Measure\Acceleration::MILE_PER_HOUR_MINUTE);
  161. $this->assertEquals(Measure\Acceleration::MILE_PER_HOUR_MINUTE, $value->getType(), 'Zend\Measure\Acceleration type expected');
  162. try {
  163. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  164. $value->setType('Acceleration::UNKNOWN');
  165. $this->fail('Exception expected because of unknown type');
  166. } catch (Measure\Exception $e) {
  167. // success
  168. }
  169. }
  170. /**
  171. * test toString
  172. * expected string
  173. */
  174. public function testAccelerationToString()
  175. {
  176. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  177. $this->assertEquals('-100 m/s²', $value->toString(), 'Value -100 m/s² expected');
  178. }
  179. /**
  180. * test __toString
  181. * expected string
  182. */
  183. public function testAcceleration_ToString()
  184. {
  185. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  186. $this->assertEquals('-100 m/s²', $value->__toString(), 'Value -100 m/s² expected');
  187. }
  188. /**
  189. * test getConversionList
  190. * expected array
  191. */
  192. public function testAccelerationConversionList()
  193. {
  194. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  195. $unit = $value->getConversionList();
  196. $this->assertTrue(is_array($unit), 'Array expected');
  197. }
  198. /**
  199. * test convertTo
  200. * expected array
  201. */
  202. public function testAccelerationConvertTo()
  203. {
  204. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  205. $unit = $value->convertTo(Measure\Acceleration::GRAV);
  206. $this->assertEquals(Measure\Acceleration::GRAV, $value->getType(), 'Zend\Measure\Acceleration type expected');
  207. }
  208. /**
  209. * test add
  210. * expected array
  211. */
  212. public function testAccelerationAdd()
  213. {
  214. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  215. $value2 = new Measure\Acceleration('200',Measure\Acceleration::STANDARD,'de');
  216. $value->add($value2);
  217. $this->assertEquals(100, $value->getValue(), 'value 100 expected');
  218. }
  219. /**
  220. * test add
  221. * expected array
  222. */
  223. public function testAccelerationSub()
  224. {
  225. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  226. $value2 = new Measure\Acceleration('200',Measure\Acceleration::STANDARD,'de');
  227. $value->sub($value2);
  228. $this->assertEquals(-300, $value->getValue(), 'value -300 expected');
  229. }
  230. /**
  231. * test add
  232. * expected array
  233. */
  234. public function testAccelerationCompare()
  235. {
  236. $value = new Measure\Acceleration('-100',Measure\Acceleration::STANDARD,'de');
  237. $value2 = new Measure\Acceleration('200',Measure\Acceleration::STANDARD,'de');
  238. $value3 = new Measure\Acceleration('200',Measure\Acceleration::STANDARD,'de');
  239. $this->assertEquals(-1, $value->compare( $value2));
  240. $this->assertEquals( 1, $value2->compare($value ));
  241. $this->assertEquals( 0, $value2->compare($value3));
  242. }
  243. }