37 require_once(
"vendor/composer/vendor/autoload.php");
51 public function testPlusTask()
65 $t1 = $factory->createInstance(PlusJob::class);
66 $t1->setInput([
$a,
$b]);
69 $t2 = $factory->createInstance(PlusJob::class);
70 $t2->setInput([$t1,
$c]);
72 $this->assertTrue($t2->getOutputType()->equals(
new SingleType(IntegerValue::class)));
74 $taskManager = new \ILIAS\BackgroundTasks\Implementation\TaskManager\SyncTaskManager(Mockery::mock(Persistence::class));
76 $finalValue = $taskManager->executeTask($t2,
new MockObserver());
77 $this->assertEquals($finalValue->getValue(), 6);
80 public function testValueWrapper()
83 $dic[Bucket::class] =
function (
$c) {
84 return new BucketMock();
88 $t = $factory->createInstance(PlusJob::class);
91 $taskManager = new \ILIAS\BackgroundTasks\Implementation\TaskManager\SyncTaskManager(Mockery::mock(Persistence::class));
93 $finalValue = $taskManager->executeTask($t,
new MockObserver());
94 $this->assertEquals($finalValue->getValue(), 5);
97 public function testTypeCheck()
99 $this->expectException(InvalidArgumentException::class);
102 $dic[Bucket::class] =
function (
$c) {
103 return new BucketMock();
111 $t1 = $factory->createInstance(PlusJob::class);
112 $t1->setInput([
$a,
$b]);
115 public function testAggregation()
121 $list->setValue([1,
"hello", 3.0]);
124 $t1 = $factory->createInstance(ConcatenationJob::class);
125 $t1->setInput([$list]);
128 $this->assertEquals($output->getValue(),
"1, hello, 3");
131 public function testUnfoldTask()
134 $dic[Bucket::class] =
function (
$c) {
143 $t0 = $factory->createInstance(PlusJob::class);
144 $t0->setInput([1, 1]);
147 $t1 = $factory->createInstance(PlusJob::class);
148 $t1->setInput([$t0, 2]);
151 $t25 = $factory->createInstance(PlusJob::class);
152 $t25->setInput([2, 2]);
155 $t2 = $factory->createInstance(PlusJob::class);
156 $t2->setInput([$t1, $t25]);
158 $this->assertTrue($t2->getOutputType()->equals(
new SingleType(IntegerValue::class)));
160 $list = $t2->unfoldTask();
161 $this->assertEquals($list, [$t2, $t1, $t0, $t25]);
164 $taskManager = new \ILIAS\BackgroundTasks\Implementation\TaskManager\SyncTaskManager(Mockery::mock(Persistence::class));
166 $finalValue = $taskManager->executeTask($t2,
new MockObserver());
167 $this->assertEquals($finalValue->getValue(), 8);
Customizing of pimple-DIC for ILIAS.
Class BackgroundTaskTest.
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples