diff --git a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php index d094f412be2ceb91c180d5f0e84d74588b685dd2..cbbabe07f3ff28c682fa7c76708759f0ad74feb6 100644 --- a/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php +++ b/src/ObservableTaskTableSlotStatusUpdateIteratorTest.php @@ -12,63 +12,63 @@ use Swoole\Event; /** * @internal */ -// #[CoversClass(ObservableTaskTableSlotStatusUpdateIterator::class)] -// final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase -// { -// private ?ObservableTaskConfiguration $observableTaskConfiguration = null; -// private ?ObservableTaskTable $observableTaskTable = null; - -// protected function setUp(): void -// { -// $this->observableTaskConfiguration = new ObservableTaskConfiguration( -// maxTasks: 4, -// serializedStatusSize: 32768, -// ); - -// $this->observableTaskTable = new ObservableTaskTable( -// observableTaskConfiguration: $this->observableTaskConfiguration, -// serializer: new Vanilla(), -// ); -// } - -// protected function tearDown(): void -// { -// Event::wait(); -// } - -// public function test_channel_is_observed(): void -// { -// $observableTask = new ObservableTask(static function () { -// yield new ObservableTaskStatusUpdate( -// ObservableTaskStatus::Running, -// 'test1', -// ); - -// yield new ObservableTaskStatusUpdate( -// ObservableTaskStatus::Finished, -// 'test2', -// ); -// }); - -// SwooleCoroutineHelper::mustGo(function () { -// self::assertNotNull($this->observableTaskTable); - -// $iterator = new ObservableTaskTableSlotStatusUpdateIterator($this->observableTaskTable); - -// foreach ($iterator as $statusUpdate) { -// self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $statusUpdate); -// self::assertEquals('0', $statusUpdate->slotId); - -// if (ObservableTaskStatus::Finished === $statusUpdate->observableTaskStatusUpdate->status) { -// self::assertEquals('test2', $statusUpdate->observableTaskStatusUpdate->data); - -// break; -// } - -// self::assertEquals('test1', $statusUpdate->observableTaskStatusUpdate->data); -// } -// }); - -// $this->observableTaskTable?->observe($observableTask); -// } -// } +#[CoversClass(ObservableTaskTableSlotStatusUpdateIterator::class)] +final class ObservableTaskTableSlotStatusUpdateIteratorTest extends TestCase +{ + private ?ObservableTaskConfiguration $observableTaskConfiguration = null; + private ?ObservableTaskTable $observableTaskTable = null; + + protected function setUp(): void + { + $this->observableTaskConfiguration = new ObservableTaskConfiguration( + maxTasks: 4, + serializedStatusSize: 32768, + ); + + $this->observableTaskTable = new ObservableTaskTable( + observableTaskConfiguration: $this->observableTaskConfiguration, + serializer: new Vanilla(), + ); + } + + protected function tearDown(): void + { + Event::wait(); + } + + public function test_channel_is_observed(): void + { + $observableTask = new ObservableTask(static function () { + yield new ObservableTaskStatusUpdate( + ObservableTaskStatus::Running, + 'test1', + ); + + yield new ObservableTaskStatusUpdate( + ObservableTaskStatus::Finished, + 'test2', + ); + }); + + SwooleCoroutineHelper::mustGo(function () { + self::assertNotNull($this->observableTaskTable); + + $iterator = new ObservableTaskTableSlotStatusUpdateIterator($this->observableTaskTable); + + foreach ($iterator as $statusUpdate) { + self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $statusUpdate); + self::assertEquals('0', $statusUpdate->slotId); + + if (ObservableTaskStatus::Finished === $statusUpdate->observableTaskStatusUpdate->status) { + self::assertEquals('test2', $statusUpdate->observableTaskStatusUpdate->data); + + break; + } + + self::assertEquals('test1', $statusUpdate->observableTaskStatusUpdate->data); + } + }); + + $this->observableTaskTable?->observe($observableTask); + } +} diff --git a/src/ObservableTaskTableTest.php b/src/ObservableTaskTableTest.php index ce2c564d92914072c52a3b98846ffeb0d7615e99..118339c3a2644890447abb62591609f1d89d4c1e 100644 --- a/src/ObservableTaskTableTest.php +++ b/src/ObservableTaskTableTest.php @@ -15,93 +15,93 @@ use Swoole\Event; /** * @internal */ -// #[CoversClass(ObservableTaskTable::class)] -// final class ObservableTaskTableTest extends TestCase -// { -// private ?ObservableTaskConfiguration $observableTaskConfiguration = null; -// private ?ObservableTaskTable $observableTaskTable = null; +#[CoversClass(ObservableTaskTable::class)] +final class ObservableTaskTableTest extends TestCase +{ + private ?ObservableTaskConfiguration $observableTaskConfiguration = null; + private ?ObservableTaskTable $observableTaskTable = null; -// protected function setUp(): void -// { -// $this->observableTaskConfiguration = new ObservableTaskConfiguration( -// maxTasks: 4, -// serializedStatusSize: 32768, -// ); + protected function setUp(): void + { + $this->observableTaskConfiguration = new ObservableTaskConfiguration( + maxTasks: 4, + serializedStatusSize: 32768, + ); -// $this->observableTaskTable = new ObservableTaskTable( -// observableTaskConfiguration: $this->observableTaskConfiguration, -// serializer: new Vanilla(), -// ); -// } + $this->observableTaskTable = new ObservableTaskTable( + observableTaskConfiguration: $this->observableTaskConfiguration, + serializer: new Vanilla(), + ); + } -// protected function tearDown(): void -// { -// Event::wait(); -// } + protected function tearDown(): void + { + Event::wait(); + } -// public function test_channel_is_observed(): void -// { -// $channel = new Channel(); -// $wg = new WaitGroup(); + public function test_channel_is_observed(): void + { + $channel = new Channel(); + $wg = new WaitGroup(); -// $this->observableTaskTable?->observableChannels->add($channel); + $this->observableTaskTable?->observableChannels->add($channel); -// $observableTask = new ObservableTask(static function () { -// yield new ObservableTaskStatusUpdate( -// ObservableTaskStatus::Running, -// 'test1', -// ); + $observableTask = new ObservableTask(static function () { + yield new ObservableTaskStatusUpdate( + ObservableTaskStatus::Running, + 'test1', + ); -// yield new ObservableTaskStatusUpdate( -// ObservableTaskStatus::Finished, -// 'test2', -// ); -// }); + yield new ObservableTaskStatusUpdate( + ObservableTaskStatus::Finished, + 'test2', + ); + }); -// $wg->add(); + $wg->add(); -// SwooleCoroutineHelper::mustGo(static function () use ($channel, $wg) { -// Coroutine::defer(static function () use ($wg) { -// $wg->done(); -// }); + SwooleCoroutineHelper::mustGo(static function () use ($channel, $wg) { + Coroutine::defer(static function () use ($wg) { + $wg->done(); + }); -// $status1 = $channel->pop(); + $status1 = $channel->pop(); -// self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status1); -// self::assertSame(ObservableTaskStatus::Running, $status1->observableTaskStatusUpdate->status); + self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status1); + self::assertSame(ObservableTaskStatus::Running, $status1->observableTaskStatusUpdate->status); -// $status2 = $channel->pop(); + $status2 = $channel->pop(); -// self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status2); -// self::assertSame(ObservableTaskStatus::Finished, $status2->observableTaskStatusUpdate->status); -// }); + self::assertInstanceOf(ObservableTaskSlotStatusUpdate::class, $status2); + self::assertSame(ObservableTaskStatus::Finished, $status2->observableTaskStatusUpdate->status); + }); -// $this->observableTaskTable?->observe($observableTask); + $this->observableTaskTable?->observe($observableTask); -// $wg->wait(); + $wg->wait(); -// $this->observableTaskTable?->observableChannels->remove($channel); -// } + $this->observableTaskTable?->observableChannels->remove($channel); + } -// public function test_task_is_observed(): void -// { -// $observableTask = new ObservableTask(static function () { -// yield new ObservableTaskStatusUpdate( -// ObservableTaskStatus::Running, -// 'test', -// ); -// }); + public function test_task_is_observed(): void + { + $observableTask = new ObservableTask(static function () { + yield new ObservableTaskStatusUpdate( + ObservableTaskStatus::Running, + 'test', + ); + }); -// self::assertNull($this->observableTaskTable?->getStatus('0')); + self::assertNull($this->observableTaskTable?->getStatus('0')); -// $slotId = $this->observableTaskTable?->observe($observableTask); + $slotId = $this->observableTaskTable?->observe($observableTask); -// self::assertSame('0', $slotId); + self::assertSame('0', $slotId); -// $status = $this->observableTaskTable?->getStatus($slotId); + $status = $this->observableTaskTable?->getStatus($slotId); -// self::assertInstanceOf(ObservableTaskStatusUpdate::class, $status); -// self::assertSame(ObservableTaskStatus::Running, $status->status); -// self::assertSame('test', $status->data); -// } -// } + self::assertInstanceOf(ObservableTaskStatusUpdate::class, $status); + self::assertSame(ObservableTaskStatus::Running, $status->status); + self::assertSame('test', $status->data); + } +}