* Merge branch 'master' of C:\Projects\PHPOffice\PHPSpreadsheet\develop with conflicts. * Bessels, and set some date tests to defined/named arguments * Fix test class naming * Names arguments for math/trig tests * Docblock updates * More engineering function unit test refactorings * More engineering function unit test refactorings. This time, moving on to the Complex engineering functions * Fix ImConjugate test * Fix parseComplex test * Fix parseComplex test * More of the complex number function unit tests refactored * Finish refactoring of the complex number function unit tests * Newer phpunit assertions * Add parsecomplex unit test back until we're ready to drop the deprecated function; but as it doesn't use the specified data provider at all, drop reference to that
		
			
				
	
	
		
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			49 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
 | 
						|
namespace PhpOffice\PhpSpreadsheetTests\Calculation\Functions\Engineering;
 | 
						|
 | 
						|
use PhpOffice\PhpSpreadsheet\Calculation\Engineering;
 | 
						|
use PhpOffice\PhpSpreadsheet\Calculation\Functions;
 | 
						|
use PhpOffice\PhpSpreadsheetTests\Custom\ComplexAssert;
 | 
						|
use PHPUnit\Framework\TestCase;
 | 
						|
 | 
						|
class ImProductTest extends TestCase
 | 
						|
{
 | 
						|
    const COMPLEX_PRECISION = 1E-8;
 | 
						|
 | 
						|
    /**
 | 
						|
     * @var ComplexAssert
 | 
						|
     */
 | 
						|
    protected $complexAssert;
 | 
						|
 | 
						|
    public function setUp()
 | 
						|
    {
 | 
						|
        Functions::setCompatibilityMode(Functions::COMPATIBILITY_EXCEL);
 | 
						|
        $this->complexAssert = new ComplexAssert();
 | 
						|
    }
 | 
						|
 | 
						|
    public function tearDown()
 | 
						|
    {
 | 
						|
        $this->complexAssert = null;
 | 
						|
    }
 | 
						|
 | 
						|
    /**
 | 
						|
     * @dataProvider providerIMPRODUCT
 | 
						|
     *
 | 
						|
     * @param mixed $expectedResult
 | 
						|
     */
 | 
						|
    public function testIMPRODUCT($expectedResult, ...$args)
 | 
						|
    {
 | 
						|
        $result = Engineering::IMPRODUCT(...$args);
 | 
						|
        $this->assertTrue(
 | 
						|
            $this->complexAssert->assertComplexEquals($expectedResult, $result, self::COMPLEX_PRECISION),
 | 
						|
            $this->complexAssert->getErrorMessage()
 | 
						|
        );
 | 
						|
    }
 | 
						|
 | 
						|
    public function providerIMPRODUCT()
 | 
						|
    {
 | 
						|
        return require 'data/Calculation/Engineering/IMPRODUCT.php';
 | 
						|
    }
 | 
						|
}
 |