SequenceTest.php 1.2 KB

1234567891011121314151617181920212223242526272829303132333435
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\MathTrig;
  3. use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions;
  4. class SequenceTest extends AllSetupTeardown
  5. {
  6. /**
  7. * @dataProvider providerSEQUENCE
  8. *
  9. * @param mixed[] $arguments
  10. * @param mixed[]|string $expectedResult
  11. */
  12. public function testSEQUENCE(array $arguments, $expectedResult): void
  13. {
  14. if (count($arguments) === 0) {
  15. $result = MatrixFunctions::sequence();
  16. } elseif (count($arguments) === 1) {
  17. $result = MatrixFunctions::sequence($arguments[0]);
  18. } elseif (count($arguments) === 2) {
  19. $result = MatrixFunctions::sequence($arguments[0], $arguments[1]);
  20. } elseif (count($arguments) === 3) {
  21. $result = MatrixFunctions::sequence($arguments[0], $arguments[1], $arguments[2]);
  22. } else {
  23. $result = MatrixFunctions::sequence($arguments[0], $arguments[1], $arguments[2], $arguments[3]);
  24. }
  25. self::assertEquals($expectedResult, $result);
  26. }
  27. public function providerSEQUENCE(): array
  28. {
  29. return require 'tests/data/Calculation/MathTrig/SEQUENCE.php';
  30. }
  31. }