mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-10-31 17:29:04 +00:00 
			
		
		
		
	Wrote tests for dimension helper method and optimized dimension helper
This commit is contained in:
		| @@ -4,7 +4,7 @@ namespace App\Entity\Method; | ||||
|  | ||||
| use Doctrine\Common\Collections\Collection; | ||||
| use App\Helper\DimensionHelper; | ||||
| use App\Entity\Attribut\MembersAttributInterface; | ||||
| use App\Helper\DimensionHelperInterface; | ||||
|  | ||||
| /** | ||||
|  * @todo Create test for trait! | ||||
| @@ -15,7 +15,7 @@ trait CollectionDimensionHelperMethod | ||||
| { | ||||
|     public function getDimensions(?int $dimension = null, Collection $elements = null): Collection | ||||
|     { | ||||
|         $dimensionHelper = new DimensionHelper(__FUNCTION__, MembersAttributInterface::class, $this, 'collection'); | ||||
|         $dimensionHelper = new DimensionHelper(__FUNCTION__, DimensionHelperInterface::class, $this, 'collection'); | ||||
|  | ||||
|         return $dimensionHelper->getDimensions($dimension, $elements); | ||||
|     } | ||||
|   | ||||
| @@ -40,10 +40,14 @@ final class DimensionHelper implements DimensionHelperInterface | ||||
|     private $dimension = null; | ||||
|  | ||||
|     /** | ||||
|      * @param string $method    which uses the dimension helper | ||||
|      * @param string $interface which is implemented in all classes which have dimensions | ||||
|      * @param object $object    which calls the dimension helper | ||||
|      * @param string $attribut  which represents dimensions | ||||
|      * @param string $method | ||||
|      *                          which uses the dimension helper | ||||
|      * @param string $interface | ||||
|      *                          which is implemented in all classes which have dimensions | ||||
|      * @param object $object | ||||
|      *                          which calls the dimension helper | ||||
|      * @param string $attribut | ||||
|      *                          which represents dimensions | ||||
|      */ | ||||
|     public function __construct(string $method, string $interface, object $object, string $attribut) | ||||
|     { | ||||
| @@ -54,8 +58,10 @@ final class DimensionHelper implements DimensionHelperInterface | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param int        $dimension The dimensions start with 1 for the elements of the actuall dimension and NULL for all elements | ||||
|      * @param Collection $elements  A  elements collection, to which new elements should be add | ||||
|      * @param int        $dimension | ||||
|      *                              The dimensions start with 1 for the elements of the actuall dimension and NULL for all elements | ||||
|      * @param Collection $elements | ||||
|      *                              A elements collection, to which new elements should be add | ||||
|      * | ||||
|      * @return Collection Returns all elements till the defined dimension | ||||
|      */ | ||||
| @@ -63,11 +69,14 @@ final class DimensionHelper implements DimensionHelperInterface | ||||
|     { | ||||
|         $this->setDimension($dimension); | ||||
|         $elements = $elements ?? new ArrayCollection(); | ||||
|         foreach ($this->object->{$this->attributGetterName()}()->toArray() as $element) { | ||||
|             if (!$elements->contains($element)) { | ||||
|                 $elements->add($element); | ||||
|                 if ($this->continueLoop() && $element instanceof $this->interface) { | ||||
|                     $element->{$this->method}($this->dimension, $elements); | ||||
|         if ($this->dimension >= 0) { | ||||
|             foreach ($this->object->{$this->attributGetterName()}() | ||||
|                 ->toArray() as $element) { | ||||
|                 if (!$elements->contains($element)) { | ||||
|                     $elements->add($element); | ||||
|                     if ($this->continueLoop() && $element instanceof $this->interface) { | ||||
|                         $element->{$this->method}($this->dimension, $elements); | ||||
|                     } | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user