TaskTest   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 53
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 19
c 2
b 0
f 0
dl 0
loc 53
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A isTerminated() 0 7 1
A isRunning() 0 7 1
A isSuccessful() 0 7 1
A setUp() 0 8 1
1
<?php
2
3
namespace Tleckie\Async\Tests;
4
5
use PHPUnit\Framework\MockObject\MockObject;
6
use PHPUnit\Framework\TestCase;
7
use Symfony\Component\Process\Process;
8
use Tleckie\Async\Encoder;
9
use Tleckie\Async\Task;
10
11
/**
12
 * Class TaskTest
13
 *
14
 * @package Tleckie\Async\Tests
15
 * @author  Teodoro Leckie Westberg <[email protected]>
16
 */
17
class TaskTest extends TestCase
18
{
19
    /** @var Task */
20
    private Task $task;
21
22
    /** @var Process|MockObject */
23
    private Process|MockObject $processMock;
24
25
    public function setUp(): void
26
    {
27
        $this->processMock = $this->createMock(Process::class);
28
29
        $this->task = new Task(
30
            $this->processMock,
31
            new Encoder(),
32
            1
33
        );
34
    }
35
36
    /**
37
     * @test
38
     */
39
    public function isRunning(): void
40
    {
41
        $this->processMock->expects(static::once())
42
            ->method('isRunning')
43
            ->willReturn(true);
44
45
        static::assertTrue($this->task->isRunning());
46
    }
47
48
    /**
49
     * @test
50
     */
51
    public function isSuccessful(): void
52
    {
53
        $this->processMock->expects(static::once())
54
            ->method('isSuccessful')
55
            ->willReturn(true);
56
57
        static::assertTrue($this->task->isSuccessful());
58
    }
59
60
    /**
61
     * @test
62
     */
63
    public function isTerminated(): void
64
    {
65
        $this->processMock->expects(static::once())
66
            ->method('isTerminated')
67
            ->willReturn(true);
68
69
        static::assertTrue($this->task->isTerminated());
70
    }
71
}
72