ILIAS  trunk Revision v11.0_alpha-3011-gc6b235a2e85
ILIAS\ResourceStorage\Resource\CollectionBuilderTest Class Reference

Class CollectionBuilderTest. More...

+ Inheritance diagram for ILIAS\ResourceStorage\Resource\CollectionBuilderTest:
+ Collaboration diagram for ILIAS\ResourceStorage\Resource\CollectionBuilderTest:

Public Member Functions

 testGetCollectionTwice ()
 

Data Fields

const DUMMY_RCID = 'dummy-rcid'
 

Protected Member Functions

 setUp ()
 
 arrayAsGenerator (array $array)
 

Private Attributes

MockObject $collection_repo = null
 
MockObject $resource_builder = null
 
Collections $collections
 

Detailed Description

Member Function Documentation

◆ arrayAsGenerator()

ILIAS\ResourceStorage\Resource\CollectionBuilderTest::arrayAsGenerator ( array  $array)
protected

Definition at line 117 of file CollectionBuilderTest.php.

117 : \Generator
118 {
119 foreach ($array as $item) {
120 yield $item;
121 }
122 }

Referenced by ILIAS\ResourceStorage\Resource\CollectionBuilderTest\testGetCollectionTwice().

+ Here is the caller graph for this function:

◆ setUp()

ILIAS\ResourceStorage\Resource\CollectionBuilderTest::setUp ( )
protected

Definition at line 50 of file CollectionBuilderTest.php.

50 : void
51 {
52 $collection_builder = new CollectionBuilder(
53 $this->collection_repo = $this->createMock(CollectionRepository::class),
54 new Subject(),
55 new DummyIDGenerator(self::DUMMY_RCID)
56 );
57 $this->collections = new Collections(
58 $this->resource_builder = $this->createMock(ResourceBuilder::class),
59 $collection_builder,
60 $this->createMock(RepositoryPreloader::class),
61 new Subject()
62 );
63 }

◆ testGetCollectionTwice()

ILIAS\ResourceStorage\Resource\CollectionBuilderTest::testGetCollectionTwice ( )

Definition at line 65 of file CollectionBuilderTest.php.

65 : void
66 {
67 $rcid = new ResourceCollectionIdentification(self::DUMMY_RCID);
68
69 $this->collection_repo->expects($this->once())
70 ->method('existing')
71 ->with($rcid)
72 ->willReturn(
73 new ResourceCollection($rcid, -1, '')
74 );
75
76 $this->collection_repo->expects($this->once())
77 ->method('getResourceIdStrings')
78 ->with($rcid)
79 ->willReturn(
80 $this->arrayAsGenerator([
81 'rid1',
82 'rid2',
83 'rid3'
84 ])
85 );
86
87 $consecutive = [
88 new ResourceIdentification('rid1'),
89 new ResourceIdentification('rid2'),
90 new ResourceIdentification('rid3'),
91 new ResourceIdentification('rid1'),
92 new ResourceIdentification('rid2'),
93 new ResourceIdentification('rid3'),
94 ];
95 $this->resource_builder
96 ->expects($this->exactly(6))
97 ->method('has')
98 ->willReturnCallback(
99 function ($rid) use (&$consecutive): true {
100 $this->assertEquals(array_shift($consecutive), $rid);
101 return true;
102 }
103 );
104
105 $collection = $this->collections->get($rcid, null);
106
107 $this->assertInstanceOf(ResourceCollection::class, $collection);
108 $this->assertNotInstanceOf(MockObject::class, $collection);
109
110 $this->assertSame(3, $collection->count());
111
112 $collection = $this->collections->get($rcid, null);
113
114 $this->assertSame(3, $collection->count());
115 }

References ILIAS\ResourceStorage\Resource\CollectionBuilderTest\arrayAsGenerator().

+ Here is the call graph for this function:

Field Documentation

◆ $collection_repo

MockObject ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$collection_repo = null
private

Definition at line 43 of file CollectionBuilderTest.php.

◆ $collections

Collections ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$collections
private

Definition at line 48 of file CollectionBuilderTest.php.

◆ $resource_builder

MockObject ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$resource_builder = null
private

Definition at line 47 of file CollectionBuilderTest.php.

◆ DUMMY_RCID

const ILIAS\ResourceStorage\Resource\CollectionBuilderTest::DUMMY_RCID = 'dummy-rcid'

Definition at line 39 of file CollectionBuilderTest.php.


The documentation for this class was generated from the following file: