Implemented dimensions for reciever

This commit is contained in:
Kevin Frantz 2018-11-04 23:43:34 +01:00
parent 3e3d9ae044
commit e9993a2424
3 changed files with 18 additions and 13 deletions

View File

@ -7,6 +7,8 @@ use Doctrine\ORM\Mapping as ORM;
use App\Entity\Attribut\MembersAttribut; use App\Entity\Attribut\MembersAttribut;
use App\Entity\Source\SourceInterface; use App\Entity\Source\SourceInterface;
use App\Entity\Attribut\RightAttribut; use App\Entity\Attribut\RightAttribut;
use App\Entity\Attribut\CollectionAttribut;
use App\Entity\Method\CollectionDimensionHelperMethod;
/** /**
* @author kevinfrantz * @author kevinfrantz
@ -15,7 +17,7 @@ use App\Entity\Attribut\RightAttribut;
*/ */
class Reciever extends AbstractMeta implements RecieverInterface class Reciever extends AbstractMeta implements RecieverInterface
{ {
use RightAttribut, MembersAttribut; use RightAttribut, CollectionAttribut,CollectionDimensionHelperMethod;
/** /**
* The right which the reciever group belongs to. * The right which the reciever group belongs to.

View File

@ -4,12 +4,14 @@ namespace App\Entity\Meta;
use App\Entity\Attribut\MembersAttributInterface; use App\Entity\Attribut\MembersAttributInterface;
use App\Entity\Attribut\RightAttributInterface; use App\Entity\Attribut\RightAttributInterface;
use App\Entity\Attribut\CollectionAttributInterface;
use App\Helper\DimensionHelperInterface;
/** /**
* It's neccessary to have an own reciever class, because if you would use a GroupSource it would lead to an infinite loop. * It's neccessary to have an own reciever class, because if you would use a GroupSource it would lead to an infinite loop.
* *
* @author kevinfrantz * @author kevinfrantz
*/ */
interface RecieverInterface extends MetaInterface, MembersAttributInterface, RightAttributInterface interface RecieverInterface extends MetaInterface, RightAttributInterface,CollectionAttributInterface,DimensionHelperInterface
{ {
} }

View File

@ -25,43 +25,44 @@ class RecieverTest extends TestCase
public function testConstructor(): void public function testConstructor(): void
{ {
$this->assertInstanceOf(Collection::class, $this->reciever->getMembers()); $this->assertInstanceOf(Collection::class, $this->reciever->getCollection());
$this->expectException(\TypeError::class); $this->expectException(\TypeError::class);
$this->reciever->getRight(); $this->reciever->getRight();
} }
public function testMembersIncludingChildren(): void public function testDimensions(): void
{ {
/** /**
* @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface * @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface
*/ */
$user1 = $this->createMock(UserSource::class); $user1 = new UserSource();
/** /**
* @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface * @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface
*/ */
$user2 = $this->createMock(UserSource::class); $user2 = new UserSource();
/** /**
* @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface * @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface
*/ */
$user3 = $this->createMock(UserSource::class); $user3 = new UserSource();
/** /**
* @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface * @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface
*/ */
$group1 = $this->createMock(TreeCollectionSource::class); $group1 = new TreeCollectionSource();
/** /**
* @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface * @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface
*/ */
$group2 = $this->createMock(TreeCollectionSource::class); $group2 = new TreeCollectionSource();
/** /**
* @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface * @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface
*/ */
$group3 = $this->createMock(TreeCollectionSource::class); $group3 = new TreeCollectionSource();
$group1->getCollection()->add($user1); $group1->getCollection()->add($user1);
$group2->getCollection()->add($group1); $group1->getCollection()->add($group2);
$group2->getCollection()->add($user2); $group2->getCollection()->add($user2);
$group2->getCollection()->add($user3); $group2->getCollection()->add($user3);
$group2->getCollection()->add($group3); $group2->getCollection()->add($group3);
$this->reciever->getMembers()->add($group1); $this->reciever->getCollection()->add($group1);
$this->assertEquals(6, $this->reciever->getMembersIncludingChildren()->count()); $this->assertEquals($group1, $this->reciever->getCollection()->get(0));
$this->assertEquals(6, $this->reciever->getDimensions()->count());
} }
} }