54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			54 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| namespace nur\t;
 | |
| 
 | |
| use Exception;
 | |
| use PHPUnit\Framework\Constraint\Exception as ConstraintException;
 | |
| use PHPUnit\Framework\TestCase as BaseTestCase;
 | |
| 
 | |
| abstract class TestCase extends BaseTestCase {
 | |
|   const UNCHANGED_ARRAY = ["unchanged"];
 | |
| 
 | |
|   static function assertException($class, callable $func, ...$args) {
 | |
|     try {
 | |
|       call_user_func_array($func, $args);
 | |
|       $e = null;
 | |
|     } catch (Exception $e) {
 | |
|     }
 | |
|     self::assertThat($e, new ConstraintException($class));
 | |
|   }
 | |
| 
 | |
|   static function assertNotException(callable $func, ...$args) {
 | |
|     try {
 | |
|       call_user_func_array($func, $args);
 | |
|       $e = null;
 | |
|       $message = "";
 | |
|     } catch (Exception $e) {
 | |
|       $message = "L'exception ".get_class($e)." a été lancée";
 | |
|     }
 | |
|     self::assertTrue($e === null, $message);
 | |
|   }
 | |
| 
 | |
|   static function assertSameKeys(array $expected, array $actual) {
 | |
|     self::assertSame($expected, array_keys($actual));
 | |
|   }
 | |
| 
 | |
|   static function assertSameValues(array $expected, array $actual) {
 | |
|     self::assertSame($expected, array_values($actual));
 | |
|   }
 | |
| 
 | |
|   protected $origTz;
 | |
| 
 | |
|   /**
 | |
|    * forcer systématiquement le timezone dans Indian/Reunion pour que les tests
 | |
|    * de date soient corrects
 | |
|    */
 | |
|   protected function setUp(): void {
 | |
|     $this->origTz = date_default_timezone_get();
 | |
|     date_default_timezone_set("Indian/Reunion");
 | |
|   }
 | |
| 
 | |
|   protected function tearDown(): void {
 | |
|     date_default_timezone_set($this->origTz);
 | |
|   }
 | |
| }
 |