Completed
Push — master ( b2f154...4a7b6a )
by Tim
01:53
created

TestCaseFactory::getCategory()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 5
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace SimpleSAML\Module\monitor;
4
5
abstract class TestCaseFactory extends TestFactory
6
{
7
    /**
8
     * @var TestSuiteFactory|null
9
     */
10
    private $testSuite = null;
11
12
    /**
13
     * @var string|null
14
     */
15
    private $subject = null;
16
17
    /**
18
     * @param TestSuiteFactory|null $testSuite
19
     * @param TestData $testData
20
     */
21
    public function __construct($testSuite = null, $testData)
22
    {
23
        assert($testSuite instanceof TestSuiteFactory);
24
        assert($testData instanceof TestData);
25
26
        $this->setTestSuite($testSuite);
27
        $this->initialize($testData);
28
        $this->invokeTest();
29
    }
30
31
    /**
32
     * @param Testdata $testData
33
     *
34
     * @return void
35
     */
36
    protected function initialize($testData)
37
    {
38
        $this->setTestData($testData);
39
    }
40
41
    /**
42
     * @param TestSuiteFactory $testSuite
43
     *
44
     * @return void
45
     */
46
    private function setTestSuite($testSuite)
47
    {
48
        assert($testSuite instanceof TestSuiteFactory);
49
        $this->testSuite = $testSuite;
50
    }
51
52
    /**
53
     * @return TestSuiteFactory
54
     */
55
    public function getTestSuite()
56
    {
57
        assert($this->testSuite instanceof TestSuiteFactory);
58
        return $this->testSuite;
59
    }
60
61
    /**
62
     * @param string $subject
63
     *
64
     * @return void
65
     */
66
    protected function setSubject($subject)
67
    {
68
        assert(is_string($subject));
69
        $this->subject = $subject;
70
    }
71
72
    /**
73
     * @return string
74
     */
75
    public function getSubject()
76
    {
77
        assert(is_string($this->subject));
78
        return $this->subject;
79
    }
80
81
    /**
82
     * @return void
83
     */
84
    abstract protected function invokeTest();
85
}
86