LogicalTest.php 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110
  1. <?php
  2. require_once 'testDataFileIterator.php';
  3. class LogicalTest 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. public function testTRUE()
  14. {
  15. $result = PHPExcel_Calculation_Logical::TRUE();
  16. $this->assertEquals(true, $result);
  17. }
  18. public function testFALSE()
  19. {
  20. $result = PHPExcel_Calculation_Logical::FALSE();
  21. $this->assertEquals(false, $result);
  22. }
  23. /**
  24. * @dataProvider providerAND
  25. */
  26. public function testAND()
  27. {
  28. $args = func_get_args();
  29. $expectedResult = array_pop($args);
  30. $result = call_user_func_array(array('PHPExcel_Calculation_Logical','LOGICAL_AND'), $args);
  31. $this->assertEquals($expectedResult, $result);
  32. }
  33. public function providerAND()
  34. {
  35. return new testDataFileIterator('rawTestData/Calculation/Logical/AND.data');
  36. }
  37. /**
  38. * @dataProvider providerOR
  39. */
  40. public function testOR()
  41. {
  42. $args = func_get_args();
  43. $expectedResult = array_pop($args);
  44. $result = call_user_func_array(array('PHPExcel_Calculation_Logical','LOGICAL_OR'), $args);
  45. $this->assertEquals($expectedResult, $result);
  46. }
  47. public function providerOR()
  48. {
  49. return new testDataFileIterator('rawTestData/Calculation/Logical/OR.data');
  50. }
  51. /**
  52. * @dataProvider providerNOT
  53. */
  54. public function testNOT()
  55. {
  56. $args = func_get_args();
  57. $expectedResult = array_pop($args);
  58. $result = call_user_func_array(array('PHPExcel_Calculation_Logical','NOT'), $args);
  59. $this->assertEquals($expectedResult, $result);
  60. }
  61. public function providerNOT()
  62. {
  63. return new testDataFileIterator('rawTestData/Calculation/Logical/NOT.data');
  64. }
  65. /**
  66. * @dataProvider providerIF
  67. */
  68. public function testIF()
  69. {
  70. $args = func_get_args();
  71. $expectedResult = array_pop($args);
  72. $result = call_user_func_array(array('PHPExcel_Calculation_Logical','STATEMENT_IF'), $args);
  73. $this->assertEquals($expectedResult, $result);
  74. }
  75. public function providerIF()
  76. {
  77. return new testDataFileIterator('rawTestData/Calculation/Logical/IF.data');
  78. }
  79. /**
  80. * @dataProvider providerIFERROR
  81. */
  82. public function testIFERROR()
  83. {
  84. $args = func_get_args();
  85. $expectedResult = array_pop($args);
  86. $result = call_user_func_array(array('PHPExcel_Calculation_Logical','IFERROR'), $args);
  87. $this->assertEquals($expectedResult, $result);
  88. }
  89. public function providerIFERROR()
  90. {
  91. return new testDataFileIterator('rawTestData/Calculation/Logical/IFERROR.data');
  92. }
  93. }