-
Notifications
You must be signed in to change notification settings - Fork 107
Expand file tree
/
Copy pathProcessNumTest.php
More file actions
41 lines (33 loc) · 1.2 KB
/
ProcessNumTest.php
File metadata and controls
41 lines (33 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
namespace SwoftTest\Process\Unit;
use Swoft\Process\ProcessRegister;
use SwoftTest\Process\Testing\Process\Process1;
use SwoftTest\Process\Testing\Process\Process2;
use SwoftTest\Process\Testing\Process\Process3;
/**
* Class ProcessNumTest
*
* @since 2.0
*/
class ProcessNumTest extends \PHPUnit\Framework\TestCase
{
function testNum(): void
{
$this->assertEquals(ProcessRegister::getWorkerNum(), 6);
}
function testProcessClassMap(): void
{
$workerNum = ProcessRegister::getWorkerNum();
$processClassMap = [];
for ($workerId = 0; $workerId < $workerNum; $workerId ++) {
$class = ProcessRegister::getProcess($workerId);
isset($processClassMap[$class]) ? $processClassMap[$class] ++ : $processClassMap[$class] = 1;
}
$this->assertArrayHasKey(Process1::class, $processClassMap);
$this->assertArrayHasKey(Process2::class, $processClassMap);
$this->assertArrayHasKey(Process3::class, $processClassMap);
$this->assertEquals($processClassMap[Process1::class], 3);
$this->assertEquals($processClassMap[Process2::class], 2);
$this->assertEquals($processClassMap[Process3::class], 1);
}
}