mirror of
https://github.com/kevinveenbirkenbach/infinito.git
synced 2025-01-09 22:17:26 +01:00
Removed deprecated trait,interface and test
This commit is contained in:
parent
b5062c01ba
commit
cd3585c3e3
@ -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());
|
|
||||||
}
|
|
||||||
}
|
|
Loading…
Reference in New Issue
Block a user