37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			37 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | ||
| 
 | ||
| namespace goodboyalex\php_components_pack\tests\classes;
 | ||
| 
 | ||
| use Exception;
 | ||
| use goodboyalex\php_components_pack\classes\Tuple;
 | ||
| use PHPUnit\Framework\TestCase;
 | ||
| 
 | ||
| class TupleTest extends TestCase
 | ||
| {
 | ||
|     public function testTuple ()
 | ||
|     {
 | ||
|         $this->PrepareForTest();
 | ||
| 
 | ||
|         $tuple = new Tuple(1, 'string', ['array1', 'array2', 'array3']);
 | ||
| 
 | ||
|         // Проверка на то, что возвращает значение кортежа при запросе значения по индексу
 | ||
|         $this->assertEquals(1, $tuple->Get(0));
 | ||
|         $this->assertEquals('string', $tuple->Get(1));
 | ||
|         $this->assertEquals(['array1', 'array2', 'array3'], $tuple->Get(2));
 | ||
| 
 | ||
|         // Проверка на то, что возвращает переменные
 | ||
|         [$firstElement, $secondElement, $thirdElement] = $tuple;
 | ||
|         $this->assertEquals(1, $firstElement);
 | ||
|         $this->assertEquals('string', $secondElement);
 | ||
|         $this->assertEquals(['array1', 'array2', 'array3'], $thirdElement);
 | ||
| 
 | ||
|         // Проверка на то, что выбрасывает исключение при попытке задать данные в кортеж после его создания
 | ||
|         $this->expectException(Exception::class);
 | ||
|         $tuple[] = 'New data';
 | ||
|     }
 | ||
| 
 | ||
|     private function PrepareForTest (): void
 | ||
|     {
 | ||
|         require_once __DIR__ . '/../../sources/classes/Tuple.php';
 | ||
|     }
 | ||
| } |