ILIAS  release_9 Revision v9.13-25-g2c18ec4c24f
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

CollectionBuilder $collection_builder
 

Detailed Description

Member Function Documentation

◆ arrayAsGenerator()

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

Definition at line 111 of file CollectionBuilderTest.php.

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

111  : \Generator
112  {
113  foreach ($array as $item) {
114  yield $item;
115  }
116  }
+ Here is the caller graph for this function:

◆ setUp()

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

Definition at line 43 of file CollectionBuilderTest.php.

43  : void
44  {
45  $this->collection_builder = new CollectionBuilder(
46  $this->collection_repo = $this->createMock(CollectionRepository::class),
47  new Subject(),
48  new DummyIDGenerator(self::DUMMY_RCID)
49  );
50  $this->collections = new Collections(
51  $this->resource_builder = $this->createMock(ResourceBuilder::class),
52  $this->collection_builder,
53  $this->createMock(RepositoryPreloader::class),
54  new Subject()
55  );
56  }

◆ testGetCollectionTwice()

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

Definition at line 58 of file CollectionBuilderTest.php.

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

58  : void
59  {
60  $rcid = new ResourceCollectionIdentification(self::DUMMY_RCID);
61 
62  $this->collection_repo->expects($this->once())
63  ->method('existing')
64  ->with($rcid)
65  ->willReturn(
66  new ResourceCollection($rcid, -1, '')
67  );
68 
69  $this->collection_repo->expects($this->once())
70  ->method('getResourceIdStrings')
71  ->with($rcid)
72  ->willReturn(
73  $this->arrayAsGenerator([
74  'rid1',
75  'rid2',
76  'rid3'
77  ])
78  );
79 
80  $this->resource_builder->expects($this->exactly(6))
81  ->method('has')
82  ->withConsecutive(
83  [new ResourceIdentification('rid1')],
84  [new ResourceIdentification('rid2')],
85  [new ResourceIdentification('rid3')],
86  [new ResourceIdentification('rid1')],
87  [new ResourceIdentification('rid2')],
88  [new ResourceIdentification('rid3')],
89  )
90  ->willReturn(
91  true,
92  true,
93  true,
94  true,
95  true,
96  true,
97  );
98 
99  $collection = $this->collections->get($rcid, null);
100 
101  $this->assertInstanceOf(ResourceCollection::class, $collection);
102  $this->assertNotInstanceOf(MockObject::class, $collection);
103 
104  $this->assertEquals(3, $collection->count());
105 
106  $collection = $this->collections->get($rcid, null);
107 
108  $this->assertEquals(3, $collection->count());
109  }
+ Here is the call graph for this function:

Field Documentation

◆ $collection_builder

CollectionBuilder ILIAS\ResourceStorage\Resource\CollectionBuilderTest::$collection_builder
private

Definition at line 41 of file CollectionBuilderTest.php.

◆ DUMMY_RCID

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

Definition at line 40 of file CollectionBuilderTest.php.


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