MUnitTest.php 1021 B

12345678910111213141516171819202122232425
  1. <?php
  2. namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\MathTrig;
  3. use PhpOffice\PhpSpreadsheet\Calculation\MathTrig\MatrixFunctions;
  4. class MUnitTest extends AllSetupTeardown
  5. {
  6. const MU_PRECISION = 1.0E-12;
  7. public function testMUNIT(): void
  8. {
  9. $identity = MatrixFunctions::identity(3);
  10. self::assertEquals([[1, 0, 0], [0, 1, 0], [0, 0, 1]], $identity);
  11. $startArray = [[1, 2, 2], [4, 5, 6], [7, 8, 9]];
  12. $resultArray = MatrixFunctions::multiply($startArray, $identity);
  13. self::assertEquals($startArray, $resultArray);
  14. $inverseArray = MatrixFunctions::inverse($startArray);
  15. $resultArray = MatrixFunctions::multiply($startArray, $inverseArray);
  16. self::assertEqualsWithDelta($identity, $resultArray, self::MU_PRECISION);
  17. self::assertEquals('#VALUE!', MatrixFunctions::identity(0));
  18. self::assertEquals('#VALUE!', MatrixFunctions::identity(-1));
  19. self::assertEquals('#VALUE!', MatrixFunctions::identity('X'));
  20. }
  21. }