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

/tests/Zend/Measure/BinaryTest.php

https://github.com/Exercise/zf2
PHP | 352 lines | 178 code | 28 blank | 146 comment | 0 complexity | 7709d790e149441b2c9b556eac9f800e 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 BinaryTest extends \PHPUnit_Framework_TestCase
  36. {
  37. /**
  38. * test for Binary initialisation
  39. * expected instance
  40. */
  41. public function testBinaryInit()
  42. {
  43. $value = new Measure\Binary('100',Measure\Binary::STANDARD,'de');
  44. $this->assertTrue($value instanceof Measure\Binary,'Zend\Measure\Binary Object not returned');
  45. }
  46. /**
  47. * test for exception unknown type
  48. * expected exception
  49. */
  50. public function testBinaryUnknownType()
  51. {
  52. try {
  53. $value = new Measure\Binary('100','Binary::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 testBinaryUnknownValue()
  64. {
  65. try {
  66. $value = new Measure\Binary('novalue',Measure\Binary::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 testBinaryUnknownLocale()
  77. {
  78. try {
  79. $value = new Measure\Binary('100',Measure\Binary::STANDARD,'nolocale');
  80. $this->fail('Exception expected because of unknown locale');
  81. } catch (Measure\Exception $e) {
  82. // success
  83. }
  84. }
  85. /**
  86. * test for exception no locale
  87. * expected root value
  88. */
  89. public function testBinaryNoLocale()
  90. {
  91. $value = new Measure\Binary('100',Measure\Binary::STANDARD);
  92. $this->assertTrue(is_object($value),'Object expected because of standard locale');
  93. }
  94. /**
  95. * test for positive value
  96. * expected integer
  97. */
  98. public function testBinaryValuePositive()
  99. {
  100. $value = new Measure\Binary('100',Measure\Binary::STANDARD,'de');
  101. $this->assertEquals('100', $value->getValue(), 'Zend\Measure\Binary value expected to be a positive integer');
  102. }
  103. /**
  104. * test for negative value
  105. * expected integer
  106. */
  107. public function testBinaryValueNegative()
  108. {
  109. $value = new Measure\Binary('-100',Measure\Binary::STANDARD,'de');
  110. $this->assertEquals('-100', $value->getValue(), 'Zend\Measure\Binary value expected to be a negative integer');
  111. }
  112. /**
  113. * test for decimal value
  114. * expected float
  115. */
  116. public function testBinaryValueDecimal()
  117. {
  118. $value = new Measure\Binary('-100,200',Measure\Binary::STANDARD,'de');
  119. $this->assertEquals(-100.200, $value->getValue(), 'Zend\Measure\Binary value expected to be a decimal value');
  120. }
  121. /**
  122. * test for decimal seperated value
  123. * expected float
  124. */
  125. public function testBinaryValueDecimalSeperated()
  126. {
  127. $value = new Measure\Binary('-100.100,200',Measure\Binary::STANDARD,'de');
  128. $this->assertEquals(-100100.200, $value->getValue(),'Zend\Measure\Binary Object not returned');
  129. }
  130. /**
  131. * test for equality
  132. * expected true
  133. */
  134. public function testBinaryEquality()
  135. {
  136. $value = new Measure\Binary('-100.100,200',Measure\Binary::STANDARD,'de');
  137. $newvalue = new Measure\Binary('-100100,200',Measure\Binary::STANDARD,'de');
  138. $this->assertTrue($value->equals($newvalue),'Zend\Measure\Binary Object should be equal');
  139. }
  140. /**
  141. * test for no equality
  142. * expected false
  143. */
  144. public function testBinaryNoEquality()
  145. {
  146. $value = new Measure\Binary('-100.100,200',Measure\Binary::STANDARD,'de');
  147. $newvalue = new Measure\Binary('-100,200',Measure\Binary::STANDARD,'de');
  148. $this->assertFalse($value->equals($newvalue),'Zend\Measure\Binary Object should be not equal');
  149. }
  150. /**
  151. * test for set positive value
  152. * expected integer
  153. */
  154. public function testBinarySetPositive()
  155. {
  156. $value = new Measure\Binary('100',Measure\Binary::STANDARD,'de');
  157. $value->setValue('200',Measure\Binary::STANDARD,'de');
  158. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Binary value expected to be a positive integer');
  159. }
  160. /**
  161. * test for set negative value
  162. * expected integer
  163. */
  164. public function testBinarySetNegative()
  165. {
  166. $value = new Measure\Binary('-100',Measure\Binary::STANDARD,'de');
  167. $value->setValue('-200',Measure\Binary::STANDARD,'de');
  168. $this->assertEquals(-200, $value->getValue(), 'Zend\Measure\Binary value expected to be a negative integer');
  169. }
  170. /**
  171. * test for set decimal value
  172. * expected float
  173. */
  174. public function testBinarySetDecimal()
  175. {
  176. $value = new Measure\Binary('-100,200',Measure\Binary::STANDARD,'de');
  177. $value->setValue('-200,200',Measure\Binary::STANDARD,'de');
  178. $this->assertEquals(-200.200, $value->getValue(), 'Zend\Measure\Binary value expected to be a decimal value');
  179. }
  180. /**
  181. * test for set decimal seperated value
  182. * expected float
  183. */
  184. public function testBinarySetDecimalSeperated()
  185. {
  186. $value = new Measure\Binary('-100.100,200',Measure\Binary::STANDARD,'de');
  187. $value->setValue('-200.200,200',Measure\Binary::STANDARD,'de');
  188. $this->assertEquals(-200200.200, $value->getValue(),'Zend\Measure\Binary Object not returned');
  189. }
  190. /**
  191. * test for set string with integrated value
  192. * expected float
  193. */
  194. public function testBinarySetString()
  195. {
  196. $value = new Measure\Binary('-100.100,200', Measure\Binary::STANDARD, 'de');
  197. $value->setValue('-200.200,200', Measure\Binary::STANDARD, 'de');
  198. $this->assertEquals(-200200.200, $value->getValue(),'Zend\Measure\Binary Object not returned');
  199. }
  200. /**
  201. * test for exception unknown type
  202. * expected exception
  203. */
  204. public function testBinarySetUnknownType()
  205. {
  206. try {
  207. $value = new Measure\Binary('100',Measure\Binary::STANDARD,'de');
  208. $value->setValue('-200.200,200','Binary::UNKNOWN','de');
  209. $this->fail('Exception expected because of unknown type');
  210. } catch (Measure\Exception $e) {
  211. // success
  212. }
  213. }
  214. /**
  215. * test for exception unknown value
  216. * expected exception
  217. */
  218. public function testBinarySetUnknownValue()
  219. {
  220. try {
  221. $value = new Measure\Binary('100',Measure\Binary::STANDARD,'de');
  222. $value->setValue('novalue',Measure\Binary::STANDARD,'de');
  223. $this->fail('Exception expected because of empty value');
  224. } catch (Measure\Exception $e) {
  225. // success
  226. }
  227. }
  228. /**
  229. * test for exception unknown locale
  230. * expected exception
  231. */
  232. public function testBinarySetUnknownLocale()
  233. {
  234. try {
  235. $value = new Measure\Binary('100',Measure\Binary::STANDARD,'de');
  236. $value->setValue('200',Measure\Binary::STANDARD,'nolocale');
  237. $this->fail('Exception expected because of unknown locale');
  238. } catch (Measure\Exception $e) {
  239. // success
  240. }
  241. }
  242. /**
  243. * test for exception unknown locale
  244. * expected exception
  245. */
  246. public function testBinarySetWithNoLocale()
  247. {
  248. $value = new Measure\Binary('100', Measure\Binary::STANDARD, 'de');
  249. $value->setValue('200', Measure\Binary::STANDARD);
  250. $this->assertEquals(200, $value->getValue(), 'Zend\Measure\Binary value expected to be a positive integer');
  251. }
  252. /**
  253. * test setting type
  254. * expected new type
  255. */
  256. public function testBinarySetType()
  257. {
  258. $value = new Measure\Binary('-100',Measure\Binary::STANDARD,'de');
  259. $value->setType(Measure\Binary::GIGABYTE);
  260. $this->assertEquals(Measure\Binary::GIGABYTE, $value->getType(), 'Zend\Measure\Binary type expected');
  261. }
  262. /**
  263. * test setting computed type
  264. * expected new type
  265. */
  266. public function testBinarySetComputedType1()
  267. {
  268. $value = new Measure\Binary('-100',Measure\Binary::MEGABYTE,'de');
  269. $value->setType(Measure\Binary::TERABYTE);
  270. $this->assertEquals(Measure\Binary::TERABYTE, $value->getType(), 'Zend\Measure\Binary type expected');
  271. }
  272. /**
  273. * test setting computed type
  274. * expected new type
  275. */
  276. public function testBinarySetComputedType2()
  277. {
  278. $value = new Measure\Binary('-100',Measure\Binary::TERABYTE,'de');
  279. $value->setType(Measure\Binary::KILOBYTE);
  280. $this->assertEquals(Measure\Binary::KILOBYTE, $value->getType(), 'Zend\Measure\Binary type expected');
  281. }
  282. /**
  283. * test setting unknown type
  284. * expected new type
  285. */
  286. public function testBinarySetTypeFailed()
  287. {
  288. try {
  289. $value = new Measure\Binary('-100',Measure\Binary::STANDARD,'de');
  290. $value->setType('Binary::UNKNOWN');
  291. $this->fail('Exception expected because of unknown type');
  292. } catch (Measure\Exception $e) {
  293. // success
  294. }
  295. }
  296. /**
  297. * test toString
  298. * expected string
  299. */
  300. public function testBinaryToString()
  301. {
  302. $value = new Measure\Binary('-100',Measure\Binary::STANDARD,'de');
  303. $this->assertEquals('-100 B', $value->toString(), 'Value -100 B expected');
  304. }
  305. /**
  306. * test __toString
  307. * expected string
  308. */
  309. public function testBinary_ToString()
  310. {
  311. $value = new Measure\Binary('-100',Measure\Binary::STANDARD,'de');
  312. $this->assertEquals('-100 B', $value->__toString(), 'Value -100 B expected');
  313. }
  314. /**
  315. * test getConversionList
  316. * expected array
  317. */
  318. public function testBinaryConversionList()
  319. {
  320. $value = new Measure\Binary('-100',Measure\Binary::STANDARD,'de');
  321. $unit = $value->getConversionList();
  322. $this->assertTrue(is_array($unit), 'Array expected');
  323. }
  324. }