mirror of
				https://github.com/kevinveenbirkenbach/infinito.git
				synced 2025-10-31 01:09:41 +00:00 
			
		
		
		
	Removed deprecated trait,interface and test
This commit is contained in:
		| @@ -1,46 +0,0 @@ | ||||
| <?php | ||||
|  | ||||
| namespace App\Entity\Attribut; | ||||
|  | ||||
| use Doctrine\Common\Collections\Collection; | ||||
| use App\Helper\DimensionHelper; | ||||
|  | ||||
| /** | ||||
|  * @author kevinfrantz | ||||
|  * | ||||
|  * @deprecated use instead CollectionDimensionHelper Method | ||||
|  * | ||||
|  * @todo this attribut should be refactored to mapp fully on collections instead of members | ||||
|  */ | ||||
| trait MembersAttribut | ||||
| { | ||||
|     /** | ||||
|      * @var Collection | ||||
|      */ | ||||
|     protected $collection; | ||||
|  | ||||
|     public function getMembers(): Collection | ||||
|     { | ||||
|         return $this->collection; | ||||
|     } | ||||
|  | ||||
|     public function setMembers(Collection $members): void | ||||
|     { | ||||
|         $this->collection = $members; | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * @param int        $dimension The dimensions start with 1 for the members of the actuall dimension and NULL for all members | ||||
|      * @param Collection $members   A reference to a members list, to which new members should be add | ||||
|      * | ||||
|      * @deprecated Use Instead CollectionDimensionHelperMethod | ||||
|      * | ||||
|      * @return Collection|MembersAttributInterface[] Returns all members till the defined dimension | ||||
|      */ | ||||
|     public function getMembersIncludingChildren(?int $dimension = null, Collection $members = null): Collection | ||||
|     { | ||||
|         $dimensionHelper = new DimensionHelper(__FUNCTION__, MembersAttributInterface::class, $this, 'members'); | ||||
|  | ||||
|         return $dimensionHelper->getDimensions($dimension, $members); | ||||
|     } | ||||
| } | ||||
| @@ -1,28 +0,0 @@ | ||||
| <?php | ||||
|  | ||||
| namespace App\Entity\Attribut; | ||||
|  | ||||
| use Doctrine\Common\Collections\Collection; | ||||
|  | ||||
| /** | ||||
|  * Allows to group other sources in a source. | ||||
|  * | ||||
|  * @author kevinfrantz | ||||
|  */ | ||||
| interface MembersAttributInterface | ||||
| { | ||||
|     /** | ||||
|      * @param Collection $members | ||||
|      */ | ||||
|     public function setMembers(Collection $members): void; | ||||
|  | ||||
|     /** | ||||
|      * @return Collection | ||||
|      */ | ||||
|     public function getMembers(): Collection; | ||||
|  | ||||
|     /** | ||||
|      * @return Collection | ||||
|      */ | ||||
|     public function getMembersIncludingChildren(int $dimension = null): Collection; | ||||
| } | ||||
| @@ -1,108 +0,0 @@ | ||||
| <?php | ||||
|  | ||||
| namespace App\Tests\Unit\Entity\Attribut; | ||||
|  | ||||
| use App\Entity\Attribut\MembersAttribut; | ||||
| use App\Entity\Attribut\MembersAttributInterface; | ||||
| use Doctrine\Common\Collections\ArrayCollection; | ||||
| use App\Tests\AbstractTestCase; | ||||
| use App\Entity\Source\SourceInterface; | ||||
|  | ||||
| class MembersAttributTest extends AbstractTestCase | ||||
| { | ||||
|     /** | ||||
|      * @var MembersAttributInterface | ||||
|      */ | ||||
|     protected $membersAttribut; | ||||
|  | ||||
|     public function setUp(): void | ||||
|     { | ||||
|         $this->membersAttribut = $this->getMembersAttributClassMock(); | ||||
|     } | ||||
|  | ||||
|     private function getMembersAttributClassMock(): MembersAttributInterface | ||||
|     { | ||||
|         return new class() implements MembersAttributInterface { | ||||
|             use MembersAttribut; | ||||
|         }; | ||||
|     } | ||||
|  | ||||
|     public function testConstructor(): void | ||||
|     { | ||||
|         $this->expectException(\TypeError::class); | ||||
|         $this->membersAttribut->getMembers(); | ||||
|         $this->membersAttribut->getMembersIncludingChildren(); | ||||
|     } | ||||
|  | ||||
|     public function testMembersAccessors() | ||||
|     { | ||||
|         $source1 = $this->createMock(SourceInterface::class); | ||||
|         $source2 = clone $source1; | ||||
|         $source3 = clone $source1; | ||||
|         $members = new ArrayCollection([ | ||||
|             $source1, | ||||
|             $source2, | ||||
|             $source3, | ||||
|         ]); | ||||
|         $this->assertNull($this->membersAttribut->setMembers($members)); | ||||
|         $this->assertEquals($members, $this->membersAttribut->getMembers()); | ||||
|         $this->assertTrue($this->membersAttribut->getMembers()->contains($source1)); | ||||
|     } | ||||
|  | ||||
|     public function testFirstLevelMembersInclusiveChildren(): void | ||||
|     { | ||||
|         $source1 = $this->getMembersAttributClassMock(); | ||||
|         $source2 = clone $source1; | ||||
|         $source3 = clone $source1; | ||||
|         $source4 = clone $source1; | ||||
|         $source3->setMembers(new ArrayCollection([$source4])); | ||||
|         $members = new ArrayCollection([$source1, $source2, $source3]); | ||||
|         $this->assertNull($this->membersAttribut->setMembers($members)); | ||||
|         $this->assertEquals(3, $this->membersAttribut->getMembersIncludingChildren(1)->count()); | ||||
|     } | ||||
|  | ||||
|     public function test3DimensionsMembersInclusiveChildren(): void | ||||
|     { | ||||
|         $source1 = $this->getMembersAttributClassMock(); | ||||
|         $source2 = clone $source1; | ||||
|         $source3 = clone $source1; | ||||
|         $source4 = clone $source1; | ||||
|         $source1->setMembers(new ArrayCollection([$source2])); | ||||
|         $source2->setMembers(new ArrayCollection([$source3])); | ||||
|         $source3->setMembers(new ArrayCollection([$source4])); | ||||
|         $source4->setMembers(new ArrayCollection()); | ||||
|         $this->membersAttribut->setMembers(new ArrayCollection([$source1])); | ||||
|         $this->assertEquals(1, $this->membersAttribut->getMembers()->count()); | ||||
|         $this->assertEquals(1, $source1->getMembers()->count()); | ||||
|         $this->assertEquals(1, $source2->getMembers()->count()); | ||||
|         $this->assertEquals(1, $source3->getMembers()->count()); | ||||
|         $this->assertEquals(0, $source4->getMembers()->count()); | ||||
|         $this->assertEquals(3, $this->membersAttribut->getMembersIncludingChildren(3)->count()); | ||||
|     } | ||||
|  | ||||
|     public function testMembersIncludingChildrenInfinite(): void | ||||
|     { | ||||
|         $source1 = $this->getMembersAttributClassMock(); | ||||
|         $source1->setMembers(new ArrayCollection()); | ||||
|         $source2 = clone $source1; | ||||
|         $source3 = clone $source1; | ||||
|         $source4 = clone $source1; | ||||
|         $source5 = clone $source1; | ||||
|         $source6 = clone $source1; | ||||
|         $source1->setMembers(new ArrayCollection([$source2])); | ||||
|         $source2->setMembers(new ArrayCollection([$source1, $source3])); | ||||
|         $source3->setMembers(new ArrayCollection([$source4])); | ||||
|         $source4->setMembers(new ArrayCollection([$source5])); | ||||
|         $source5->setMembers(new ArrayCollection([$source6])); | ||||
|  | ||||
|         $this->membersAttribut->setMembers(new ArrayCollection([$source1])); | ||||
|         $this->assertEquals(6, $this->membersAttribut->getMembersIncludingChildren()->count()); | ||||
|     } | ||||
|  | ||||
|     public function testMemberWithoutMembers(): void | ||||
|     { | ||||
|         $source1 = $this->createMock(SourceInterface::class); | ||||
|         $this->membersAttribut->setMembers(new ArrayCollection([$source1])); | ||||
|         $this->assertEquals(1, $this->membersAttribut->getMembersIncludingChildren()->count()); | ||||
|     } | ||||
| } | ||||
		Reference in New Issue
	
	Block a user