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\Source\SourceInterface;
use App\Entity\Attribut\RightAttribut;
use App\Entity\Attribut\CollectionAttribut;
use App\Entity\Method\CollectionDimensionHelperMethod;
/**
* @author kevinfrantz
@ -15,7 +17,7 @@ use App\Entity\Attribut\RightAttribut;
*/
class Reciever extends AbstractMeta implements RecieverInterface
{
use RightAttribut, MembersAttribut;
use RightAttribut, CollectionAttribut,CollectionDimensionHelperMethod;
/**
* 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\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.
*
* @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
{
$this->assertInstanceOf(Collection::class, $this->reciever->getMembers());
$this->assertInstanceOf(Collection::class, $this->reciever->getCollection());
$this->expectException(\TypeError::class);
$this->reciever->getRight();
}
public function testMembersIncludingChildren(): void
public function testDimensions(): void
{
/**
* @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface
*/
$user1 = $this->createMock(UserSource::class);
$user1 = new UserSource();
/**
* @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface
*/
$user2 = $this->createMock(UserSource::class);
$user2 = new UserSource();
/**
* @var \PHPUnit\Framework\MockObject\MockObject|UserSourceInterface
*/
$user3 = $this->createMock(UserSource::class);
$user3 = new UserSource();
/**
* @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface
*/
$group1 = $this->createMock(TreeCollectionSource::class);
$group1 = new TreeCollectionSource();
/**
* @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface
*/
$group2 = $this->createMock(TreeCollectionSource::class);
$group2 = new TreeCollectionSource();
/**
* @var \PHPUnit\Framework\MockObject\MockObject|TreeCollectionSourceInterface
*/
$group3 = $this->createMock(TreeCollectionSource::class);
$group3 = new TreeCollectionSource();
$group1->getCollection()->add($user1);
$group2->getCollection()->add($group1);
$group1->getCollection()->add($group2);
$group2->getCollection()->add($user2);
$group2->getCollection()->add($user3);
$group2->getCollection()->add($group3);
$this->reciever->getMembers()->add($group1);
$this->assertEquals(6, $this->reciever->getMembersIncludingChildren()->count());
$this->reciever->getCollection()->add($group1);
$this->assertEquals($group1, $this->reciever->getCollection()->get(0));
$this->assertEquals(6, $this->reciever->getDimensions()->count());
}
}