19use PHPUnit\Framework\Attributes\BackupGlobals;
20use PHPUnit\Framework\Attributes\BackupStaticProperties;
21use PHPUnit\Framework\Attributes\PreserveGlobalState;
22use PHPUnit\Framework\Attributes\RunTestsInSeparateProcesses;
26use ILIAS\BackgroundTasks\Implementation\Bucket\BucketMock;
39use PHPUnit\Framework\TestCase;
41require_once(
"vendor/composer/vendor/autoload.php");
49#[BackupGlobals(false)]
50#[BackupStaticProperties(false)]
51#[PreserveGlobalState(false)]
52#[RunTestsInSeparateProcesses]
55 public function testPlusTask():
void
69 $t1 = $factory->createInstance(PlusJob::class);
70 $t1->setInput([
$a,
$b]);
73 $t2 = $factory->createInstance(PlusJob::class);
74 $t2->setInput([$t1,
$c]);
76 $this->assertTrue($t2->getOutputType()->equals(
new SingleType(IntegerValue::class)));
80 $finalValue = $taskManager->executeTask($t2,
new MockObserver());
81 $this->assertEquals(6, $finalValue->getValue());
84 public function testValueWrapper():
void
87 $dic[Bucket::class] = (fn(
$c): BucketMock =>
new BucketMock());
90 $t = $factory->createInstance(PlusJob::class);
95 $finalValue = $taskManager->executeTask($t,
new MockObserver());
96 $this->assertEquals(5, $finalValue->getValue());
99 public function testTypeCheck():
void
101 $this->expectException(InvalidArgumentException::class);
104 $dic[Bucket::class] = (fn(
$c): BucketMock =>
new BucketMock());
111 $t1 = $factory->createInstance(PlusJob::class);
112 $t1->setInput([
$a,
$b]);
115 public function testAggregation():
void
121 $list->setValue([1,
"hello", 3.0]);
124 $t1 = $factory->createInstance(ConcatenationJob::class);
125 $t1->setInput([$list]);
128 $this->assertEquals(
"1, hello, 3", $output->getValue());
131 public function testUnfoldTask():
void
141 $t0 = $factory->createInstance(PlusJob::class);
142 $t0->setInput([1, 1]);
145 $t1 = $factory->createInstance(PlusJob::class);
146 $t1->setInput([$t0, 2]);
149 $t25 = $factory->createInstance(PlusJob::class);
150 $t25->setInput([2, 2]);
153 $t2 = $factory->createInstance(PlusJob::class);
154 $t2->setInput([$t1, $t25]);
156 $this->assertTrue($t2->getOutputType()->equals(
new SingleType(IntegerValue::class)));
158 $list = $t2->unfoldTask();
159 $this->assertEquals($list, [$t2, $t1, $t0, $t25]);
164 $finalValue = $taskManager->executeTask($t2,
new MockObserver());
165 $this->assertEquals(8, $finalValue->getValue());
Class Exception Thrown if some procedure did not get the arguments it expected.
Customizing of pimple-DIC for ILIAS.
Class BackgroundTaskTest.
$a
thx to https://mlocati.github.io/php-cs-fixer-configurator for the examples