/vendor/phpoffice/phpexcel/unitTests/Classes/PHPExcel/Calculation/TextDataTest.php

https://gitlab.com/techniconline/kmc · PHP · 364 lines · 250 code · 50 blank · 64 comment · 1 complexity · d9b611243dad3426d31c709f69bb423b MD5 · raw file

  1. <?php
  2. require_once 'testDataFileIterator.php';
  3. class TextDataTest extends PHPUnit_Framework_TestCase
  4. {
  5. public function setUp()
  6. {
  7. if (!defined('PHPEXCEL_ROOT')) {
  8. define('PHPEXCEL_ROOT', APPLICATION_PATH . '/');
  9. }
  10. require_once(PHPEXCEL_ROOT . 'PHPExcel/Autoloader.php');
  11. PHPExcel_Calculation_Functions::setCompatibilityMode(PHPExcel_Calculation_Functions::COMPATIBILITY_EXCEL);
  12. }
  13. /**
  14. * @dataProvider providerCHAR
  15. */
  16. public function testCHAR()
  17. {
  18. $args = func_get_args();
  19. $expectedResult = array_pop($args);
  20. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'CHARACTER'), $args);
  21. $this->assertEquals($expectedResult, $result);
  22. }
  23. public function providerCHAR()
  24. {
  25. return new testDataFileIterator('rawTestData/Calculation/TextData/CHAR.data');
  26. }
  27. /**
  28. * @dataProvider providerCODE
  29. */
  30. public function testCODE()
  31. {
  32. $args = func_get_args();
  33. $expectedResult = array_pop($args);
  34. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'ASCIICODE'), $args);
  35. $this->assertEquals($expectedResult, $result);
  36. }
  37. public function providerCODE()
  38. {
  39. return new testDataFileIterator('rawTestData/Calculation/TextData/CODE.data');
  40. }
  41. /**
  42. * @dataProvider providerCONCATENATE
  43. */
  44. public function testCONCATENATE()
  45. {
  46. $args = func_get_args();
  47. $expectedResult = array_pop($args);
  48. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'CONCATENATE'), $args);
  49. $this->assertEquals($expectedResult, $result);
  50. }
  51. public function providerCONCATENATE()
  52. {
  53. return new testDataFileIterator('rawTestData/Calculation/TextData/CONCATENATE.data');
  54. }
  55. /**
  56. * @dataProvider providerLEFT
  57. */
  58. public function testLEFT()
  59. {
  60. $args = func_get_args();
  61. $expectedResult = array_pop($args);
  62. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'LEFT'), $args);
  63. $this->assertEquals($expectedResult, $result);
  64. }
  65. public function providerLEFT()
  66. {
  67. return new testDataFileIterator('rawTestData/Calculation/TextData/LEFT.data');
  68. }
  69. /**
  70. * @dataProvider providerMID
  71. */
  72. public function testMID()
  73. {
  74. $args = func_get_args();
  75. $expectedResult = array_pop($args);
  76. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'MID'), $args);
  77. $this->assertEquals($expectedResult, $result);
  78. }
  79. public function providerMID()
  80. {
  81. return new testDataFileIterator('rawTestData/Calculation/TextData/MID.data');
  82. }
  83. /**
  84. * @dataProvider providerRIGHT
  85. */
  86. public function testRIGHT()
  87. {
  88. $args = func_get_args();
  89. $expectedResult = array_pop($args);
  90. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'RIGHT'), $args);
  91. $this->assertEquals($expectedResult, $result);
  92. }
  93. public function providerRIGHT()
  94. {
  95. return new testDataFileIterator('rawTestData/Calculation/TextData/RIGHT.data');
  96. }
  97. /**
  98. * @dataProvider providerLOWER
  99. */
  100. public function testLOWER()
  101. {
  102. $args = func_get_args();
  103. $expectedResult = array_pop($args);
  104. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'LOWERCASE'), $args);
  105. $this->assertEquals($expectedResult, $result);
  106. }
  107. public function providerLOWER()
  108. {
  109. return new testDataFileIterator('rawTestData/Calculation/TextData/LOWER.data');
  110. }
  111. /**
  112. * @dataProvider providerUPPER
  113. */
  114. public function testUPPER()
  115. {
  116. $args = func_get_args();
  117. $expectedResult = array_pop($args);
  118. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'UPPERCASE'), $args);
  119. $this->assertEquals($expectedResult, $result);
  120. }
  121. public function providerUPPER()
  122. {
  123. return new testDataFileIterator('rawTestData/Calculation/TextData/UPPER.data');
  124. }
  125. /**
  126. * @dataProvider providerPROPER
  127. */
  128. public function testPROPER()
  129. {
  130. $args = func_get_args();
  131. $expectedResult = array_pop($args);
  132. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'PROPERCASE'), $args);
  133. $this->assertEquals($expectedResult, $result);
  134. }
  135. public function providerPROPER()
  136. {
  137. return new testDataFileIterator('rawTestData/Calculation/TextData/PROPER.data');
  138. }
  139. /**
  140. * @dataProvider providerLEN
  141. */
  142. public function testLEN()
  143. {
  144. $args = func_get_args();
  145. $expectedResult = array_pop($args);
  146. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'STRINGLENGTH'), $args);
  147. $this->assertEquals($expectedResult, $result);
  148. }
  149. public function providerLEN()
  150. {
  151. return new testDataFileIterator('rawTestData/Calculation/TextData/LEN.data');
  152. }
  153. /**
  154. * @dataProvider providerSEARCH
  155. */
  156. public function testSEARCH()
  157. {
  158. $args = func_get_args();
  159. $expectedResult = array_pop($args);
  160. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'SEARCHINSENSITIVE'), $args);
  161. $this->assertEquals($expectedResult, $result);
  162. }
  163. public function providerSEARCH()
  164. {
  165. return new testDataFileIterator('rawTestData/Calculation/TextData/SEARCH.data');
  166. }
  167. /**
  168. * @dataProvider providerFIND
  169. */
  170. public function testFIND()
  171. {
  172. $args = func_get_args();
  173. $expectedResult = array_pop($args);
  174. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'SEARCHSENSITIVE'), $args);
  175. $this->assertEquals($expectedResult, $result);
  176. }
  177. public function providerFIND()
  178. {
  179. return new testDataFileIterator('rawTestData/Calculation/TextData/FIND.data');
  180. }
  181. /**
  182. * @dataProvider providerREPLACE
  183. */
  184. public function testREPLACE()
  185. {
  186. $args = func_get_args();
  187. $expectedResult = array_pop($args);
  188. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'REPLACE'), $args);
  189. $this->assertEquals($expectedResult, $result);
  190. }
  191. public function providerREPLACE()
  192. {
  193. return new testDataFileIterator('rawTestData/Calculation/TextData/REPLACE.data');
  194. }
  195. /**
  196. * @dataProvider providerSUBSTITUTE
  197. */
  198. public function testSUBSTITUTE()
  199. {
  200. $args = func_get_args();
  201. $expectedResult = array_pop($args);
  202. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'SUBSTITUTE'), $args);
  203. $this->assertEquals($expectedResult, $result);
  204. }
  205. public function providerSUBSTITUTE()
  206. {
  207. return new testDataFileIterator('rawTestData/Calculation/TextData/SUBSTITUTE.data');
  208. }
  209. /**
  210. * @dataProvider providerTRIM
  211. */
  212. public function testTRIM()
  213. {
  214. $args = func_get_args();
  215. $expectedResult = array_pop($args);
  216. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'TRIMSPACES'), $args);
  217. $this->assertEquals($expectedResult, $result);
  218. }
  219. public function providerTRIM()
  220. {
  221. return new testDataFileIterator('rawTestData/Calculation/TextData/TRIM.data');
  222. }
  223. /**
  224. * @dataProvider providerCLEAN
  225. */
  226. public function testCLEAN()
  227. {
  228. $args = func_get_args();
  229. $expectedResult = array_pop($args);
  230. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'TRIMNONPRINTABLE'), $args);
  231. $this->assertEquals($expectedResult, $result);
  232. }
  233. public function providerCLEAN()
  234. {
  235. return new testDataFileIterator('rawTestData/Calculation/TextData/CLEAN.data');
  236. }
  237. /**
  238. * @dataProvider providerDOLLAR
  239. */
  240. public function testDOLLAR()
  241. {
  242. $args = func_get_args();
  243. $expectedResult = array_pop($args);
  244. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'DOLLAR'), $args);
  245. $this->assertEquals($expectedResult, $result);
  246. }
  247. public function providerDOLLAR()
  248. {
  249. return new testDataFileIterator('rawTestData/Calculation/TextData/DOLLAR.data');
  250. }
  251. /**
  252. * @dataProvider providerFIXED
  253. */
  254. public function testFIXED()
  255. {
  256. $args = func_get_args();
  257. $expectedResult = array_pop($args);
  258. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'FIXEDFORMAT'), $args);
  259. $this->assertEquals($expectedResult, $result);
  260. }
  261. public function providerFIXED()
  262. {
  263. return new testDataFileIterator('rawTestData/Calculation/TextData/FIXED.data');
  264. }
  265. /**
  266. * @dataProvider providerT
  267. */
  268. public function testT()
  269. {
  270. $args = func_get_args();
  271. $expectedResult = array_pop($args);
  272. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'RETURNSTRING'), $args);
  273. $this->assertEquals($expectedResult, $result);
  274. }
  275. public function providerT()
  276. {
  277. return new testDataFileIterator('rawTestData/Calculation/TextData/T.data');
  278. }
  279. /**
  280. * @dataProvider providerTEXT
  281. */
  282. public function testTEXT()
  283. {
  284. // Enforce decimal and thousands separator values to UK/US, and currency code to USD
  285. call_user_func(array('PHPExcel_Shared_String', 'setDecimalSeparator'), '.');
  286. call_user_func(array('PHPExcel_Shared_String', 'setThousandsSeparator'), ',');
  287. call_user_func(array('PHPExcel_Shared_String', 'setCurrencyCode'), '$');
  288. $args = func_get_args();
  289. $expectedResult = array_pop($args);
  290. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'TEXTFORMAT'), $args);
  291. $this->assertEquals($expectedResult, $result);
  292. }
  293. public function providerTEXT()
  294. {
  295. return new testDataFileIterator('rawTestData/Calculation/TextData/TEXT.data');
  296. }
  297. /**
  298. * @dataProvider providerVALUE
  299. */
  300. public function testVALUE()
  301. {
  302. call_user_func(array('PHPExcel_Shared_String', 'setDecimalSeparator'), '.');
  303. call_user_func(array('PHPExcel_Shared_String', 'setThousandsSeparator'), ' ');
  304. call_user_func(array('PHPExcel_Shared_String', 'setCurrencyCode'), '$');
  305. $args = func_get_args();
  306. $expectedResult = array_pop($args);
  307. $result = call_user_func_array(array('PHPExcel_Calculation_TextData', 'VALUE'), $args);
  308. $this->assertEquals($expectedResult, $result, NULL, 1E-8);
  309. }
  310. public function providerVALUE()
  311. {
  312. return new testDataFileIterator('rawTestData/Calculation/TextData/VALUE.data');
  313. }
  314. }