TestDirectoryTrait::createTestDirectory()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 9
Code Lines 7

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 7
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 9
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace DaveLiddament\StaticAnalysisResultsBaseliner\Tests\Integration;
6
7
use DaveLiddament\StaticAnalysisResultsBaseliner\Domain\Common\ProjectRoot;
8
9
trait TestDirectoryTrait
10
{
11
    private function createTestDirectory(): void
12
    {
13
        $dateTimeFolderName = date('Ymd_His');
14
        $random = random_int(10000, 99999);
15
        $testDirectory = __DIR__."/../scratchpad/{$dateTimeFolderName}{$random}";
16
        $this->fileSystem->mkdir($testDirectory);
17
        $cwd = getcwd();
18
        $this->assertNotFalse($cwd);
0 ignored issues
show
Bug introduced by
It seems like assertNotFalse() must be provided by classes using this trait. How about adding it as abstract method to this trait? ( Ignorable by Annotation )

If this is a false-positive, you can also ignore this issue in your code via the ignore-call  annotation

18
        $this->/** @scrutinizer ignore-call */ 
19
               assertNotFalse($cwd);
Loading history...
19
        $this->projectRoot = ProjectRoot::fromProjectRoot($testDirectory, $cwd);
0 ignored issues
show
Bug Best Practice introduced by
The property projectRoot does not exist. Although not strictly required by PHP, it is generally a best practice to declare properties explicitly.
Loading history...
20
    }
21
22
    private function removeTestDirectory(): void
23
    {
24
        $this->fileSystem->remove((string) $this->projectRoot);
25
    }
26
}
27