/standard/tags/release-0.2.0/incubator/tests/Zend/Measure/VolumeTest.php

https://github.com/jorgenils/zend-framework · PHP · 406 lines · 206 code · 66 blank · 134 comment · 0 complexity · 3d617c447b6d2a38ac6b06abd61c7933 MD5 · raw file

  1. <?php
  2. /**
  3. * @package Zend_Measure
  4. * @subpackage UnitTests
  5. */
  6. /**
  7. * Zend_Measure_Volume
  8. */
  9. require_once 'Zend/Measure/Volume.php';
  10. /**
  11. * PHPUnit test case
  12. */
  13. require_once 'PHPUnit/Framework/TestCase.php';
  14. /**
  15. * @package Zend_Measure
  16. * @subpackage UnitTests
  17. */
  18. class Zend_Measure_VolumeTest extends PHPUnit_Framework_TestCase
  19. {
  20. public function setUp()
  21. {
  22. }
  23. /**
  24. * test for Volume initialisation
  25. * expected instance
  26. */
  27. public function testVolumeInit()
  28. {
  29. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD,'de');
  30. $this->assertTrue($value instanceof Zend_Measure_Volume,'Zend_Measure_Volume Object not returned');
  31. }
  32. /**
  33. * test for exception unknown type
  34. * expected exception
  35. */
  36. public function testVolumeUnknownType()
  37. {
  38. try {
  39. $value = new Zend_Measure_Volume('100','Volume::UNKNOWN','de');
  40. $this->assertTrue(false,'Exception expected because of unknown type');
  41. } catch (Exception $e) {
  42. return true; // Test OK
  43. }
  44. }
  45. /**
  46. * test for exception unknown value
  47. * expected exception
  48. */
  49. public function testVolumeUnknownValue()
  50. {
  51. try {
  52. $value = new Zend_Measure_Volume('novalue',Zend_Measure_Volume::STANDARD,'de');
  53. $this->assertTrue(false,'Exception expected because of empty value');
  54. } catch (Exception $e) {
  55. return true; // Test OK
  56. }
  57. }
  58. /**
  59. * test for exception unknown locale
  60. * expected root value
  61. */
  62. public function testVolumeUnknownLocale()
  63. {
  64. try {
  65. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD,'nolocale');
  66. $this->assertTrue(false,'Exception expected because of unknown locale');
  67. } catch (Exception $e) {
  68. return true; // Test OK
  69. }
  70. }
  71. /**
  72. * test for standard locale
  73. * expected integer
  74. */
  75. public function testVolumeNoLocale()
  76. {
  77. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD);
  78. $this->assertEquals(100, $value->getValue(),'Zend_Measure_Volume value expected');
  79. }
  80. /**
  81. * test for positive value
  82. * expected integer
  83. */
  84. public function testVolumeValuePositive()
  85. {
  86. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD,'de');
  87. $this->assertEquals(100, $value->getValue(), 'Zend_Measure_Volume value expected to be a positive integer');
  88. }
  89. /**
  90. * test for negative value
  91. * expected integer
  92. */
  93. public function testVolumeValueNegative()
  94. {
  95. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  96. $this->assertEquals(-100, $value->getValue(), 'Zend_Measure_Volume value expected to be a negative integer');
  97. }
  98. /**
  99. * test for decimal value
  100. * expected float
  101. */
  102. public function testVolumeValueDecimal()
  103. {
  104. $value = new Zend_Measure_Volume('-100,200',Zend_Measure_Volume::STANDARD,'de');
  105. $this->assertEquals(-100.200, $value->getValue(), 'Zend_Measure_Volume value expected to be a decimal value');
  106. }
  107. /**
  108. * test for decimal seperated value
  109. * expected float
  110. */
  111. public function testVolumeValueDecimalSeperated()
  112. {
  113. $value = new Zend_Measure_Volume('-100.100,200',Zend_Measure_Volume::STANDARD,'de');
  114. $this->assertEquals(-100100.200, $value->getValue(),'Zend_Measure_Volume Object not returned');
  115. }
  116. /**
  117. * test for string with integrated value
  118. * expected float
  119. */
  120. public function testVolumeValueString()
  121. {
  122. $value = new Zend_Measure_Volume('string -100.100,200',Zend_Measure_Volume::STANDARD,'de');
  123. $this->assertEquals(-100100.200, $value->getValue(),'Zend_Measure_Volume Object not returned');
  124. }
  125. /**
  126. * test for equality
  127. * expected true
  128. */
  129. public function testVolumeEquality()
  130. {
  131. $value = new Zend_Measure_Volume('string -100.100,200',Zend_Measure_Volume::STANDARD,'de');
  132. $newvalue = new Zend_Measure_Volume('otherstring -100.100,200',Zend_Measure_Volume::STANDARD,'de');
  133. $this->assertTrue($value->equals($newvalue),'Zend_Measure_Volume Object should be equal');
  134. }
  135. /**
  136. * test for no equality
  137. * expected false
  138. */
  139. public function testVolumeNoEquality()
  140. {
  141. $value = new Zend_Measure_Volume('string -100.100,200',Zend_Measure_Volume::STANDARD,'de');
  142. $newvalue = new Zend_Measure_Volume('otherstring -100,200',Zend_Measure_Volume::STANDARD,'de');
  143. $this->assertFalse($value->equals($newvalue),'Zend_Measure_Volume Object should be not equal');
  144. }
  145. /**
  146. * test for serialization
  147. * expected string
  148. */
  149. public function testVolumeSerialize()
  150. {
  151. $value = new Zend_Measure_Volume('string -100.100,200',Zend_Measure_Volume::STANDARD,'de');
  152. $serial = $value->serialize();
  153. $this->assertTrue(!empty($serial),'Zend_Measure_Volume not serialized');
  154. }
  155. /**
  156. * test for unserialization
  157. * expected object
  158. */
  159. public function testVolumeUnSerialize()
  160. {
  161. $value = new Zend_Measure_Volume('string -100.100,200',Zend_Measure_Volume::STANDARD,'de');
  162. $serial = $value->serialize();
  163. $newvalue = unserialize($serial);
  164. $this->assertTrue($value->equals($newvalue),'Zend_Measure_Volume not unserialized');
  165. }
  166. /**
  167. * test for set positive value
  168. * expected integer
  169. */
  170. public function testVolumeSetPositive()
  171. {
  172. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD,'de');
  173. $value->setValue('200',Zend_Measure_Volume::STANDARD,'de');
  174. $this->assertEquals(200, $value->getValue(), 'Zend_Measure_Volume value expected to be a positive integer');
  175. }
  176. /**
  177. * test for set negative value
  178. * expected integer
  179. */
  180. public function testVolumeSetNegative()
  181. {
  182. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  183. $value->setValue('-200',Zend_Measure_Volume::STANDARD,'de');
  184. $this->assertEquals(-200, $value->getValue(), 'Zend_Measure_Volume value expected to be a negative integer');
  185. }
  186. /**
  187. * test for set decimal value
  188. * expected float
  189. */
  190. public function testVolumeSetDecimal()
  191. {
  192. $value = new Zend_Measure_Volume('-100,200',Zend_Measure_Volume::STANDARD,'de');
  193. $value->setValue('-200,200',Zend_Measure_Volume::STANDARD,'de');
  194. $this->assertEquals(-200.200, $value->getValue(), 'Zend_Measure_Volume value expected to be a decimal value');
  195. }
  196. /**
  197. * test for set decimal seperated value
  198. * expected float
  199. */
  200. public function testVolumeSetDecimalSeperated()
  201. {
  202. $value = new Zend_Measure_Volume('-100.100,200',Zend_Measure_Volume::STANDARD,'de');
  203. $value->setValue('-200.200,200',Zend_Measure_Volume::STANDARD,'de');
  204. $this->assertEquals(-200200.200, $value->getValue(),'Zend_Measure_Volume Object not returned');
  205. }
  206. /**
  207. * test for set string with integrated value
  208. * expected float
  209. */
  210. public function testVolumeSetString()
  211. {
  212. $value = new Zend_Measure_Volume('string -100.100,200',Zend_Measure_Volume::STANDARD,'de');
  213. $value->setValue('otherstring -200.200,200',Zend_Measure_Volume::STANDARD,'de');
  214. $this->assertEquals(-200200.200, $value->getValue(),'Zend_Measure_Volume Object not returned');
  215. }
  216. /**
  217. * test for exception unknown type
  218. * expected exception
  219. */
  220. public function testVolumeSetUnknownType()
  221. {
  222. try {
  223. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD,'de');
  224. $value->setValue('otherstring -200.200,200','Volume::UNKNOWN','de');
  225. $this->assertTrue(false,'Exception expected because of unknown type');
  226. } catch (Exception $e) {
  227. return true; // Test OK
  228. }
  229. }
  230. /**
  231. * test for exception unknown value
  232. * expected exception
  233. */
  234. public function testVolumeSetUnknownValue()
  235. {
  236. try {
  237. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD,'de');
  238. $value->setValue('novalue',Zend_Measure_Volume::STANDARD,'de');
  239. $this->assertTrue(false,'Exception expected because of empty value');
  240. } catch (Exception $e) {
  241. return; // Test OK
  242. }
  243. }
  244. /**
  245. * test for exception unknown locale
  246. * expected exception
  247. */
  248. public function testVolumeSetUnknownLocale()
  249. {
  250. try {
  251. $value = new Zend_Measure_Volume('100',Zend_Measure_Volume::STANDARD,'de');
  252. $value->setValue('200',Zend_Measure_Volume::STANDARD,'nolocale');
  253. $this->assertTrue(false,'Exception expected because of unknown locale');
  254. } catch (Exception $e) {
  255. return true; // Test OK
  256. }
  257. }
  258. /**
  259. * test for exception unknown locale
  260. * expected exception
  261. */
  262. public function testVolumeSetWithNoLocale()
  263. {
  264. $value = new Zend_Measure_Volume('100', Zend_Measure_Volume::STANDARD, 'de');
  265. $value->setValue('200', Zend_Measure_Volume::STANDARD);
  266. $this->assertEquals(200, $value->getValue(), 'Zend_Measure_Volume value expected to be a positive integer');
  267. }
  268. /**
  269. * test setting type
  270. * expected new type
  271. */
  272. public function testVolumeSetType()
  273. {
  274. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  275. $value->setType(Zend_Measure_Volume::CORD);
  276. $this->assertEquals($value->getType(), Zend_Measure_Volume::CORD, 'Zend_Measure_Volume type expected');
  277. }
  278. /**
  279. * test setting computed type
  280. * expected new type
  281. */
  282. public function testVolumeSetComputedType1()
  283. {
  284. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  285. $value->setType(Zend_Measure_Volume::CUBIC_YARD);
  286. $this->assertEquals($value->getType(), Zend_Measure_Volume::CUBIC_YARD, 'Zend_Measure_Volume type expected');
  287. }
  288. /**
  289. * test setting computed type
  290. * expected new type
  291. */
  292. public function testVolumeSetComputedType2()
  293. {
  294. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::CUBIC_YARD,'de');
  295. $value->setType(Zend_Measure_Volume::STANDARD);
  296. $this->assertEquals($value->getType(), Zend_Measure_Volume::STANDARD, 'Zend_Measure_Volume type expected');
  297. }
  298. /**
  299. * test setting unknown type
  300. * expected new type
  301. */
  302. public function testVolumeSetTypeFailed()
  303. {
  304. try {
  305. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  306. $value->setType('Volume::UNKNOWN');
  307. $this->assertTrue(false,'Exception expected because of unknown type');
  308. } catch (Exception $e) {
  309. return true; // OK
  310. }
  311. }
  312. /**
  313. * test toString
  314. * expected string
  315. */
  316. public function testVolumeToString()
  317. {
  318. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  319. $this->assertEquals($value->toString(), '-100 m³', 'Value -100 m³ expected');
  320. }
  321. /**
  322. * test __toString
  323. * expected string
  324. */
  325. public function testVolume_ToString()
  326. {
  327. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  328. $this->assertEquals($value->__toString(), '-100 m³', 'Value -100 m³ expected');
  329. }
  330. /**
  331. * test getConversionList
  332. * expected array
  333. */
  334. public function testVolumeConversionList()
  335. {
  336. $value = new Zend_Measure_Volume('-100',Zend_Measure_Volume::STANDARD,'de');
  337. $unit = $value->getConversionList();
  338. $this->assertTrue(is_array($unit), 'Array expected');
  339. }
  340. }