Completed
Push — master ( a13755...ce7f01 )
by Tim
01:58
created

TestFactory::addTestResult()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
c 1
b 0
f 0
nc 1
nop 1
dl 0
loc 5
rs 9.4285
1
<?php
2
3
namespace SimpleSAML\Module\monitor;
4
5
abstract class TestFactory
6
{
7
    /**
8
     * @var TestData
9
     */
10
    private $testData;
11
12
    /**
13
     * @var TestConfiguration|null
14
     */
15
    private $configuration = null;
16
17
    /**
18
     * @var TestResult
19
     */
20
    private $testResult;
21
22
    /**
23
     * @var array
24
     */
25
    private $messages = array();
26
27
    /**
28
     * @param TestConfiguration|null $configuration
29
     *
30
     * @return void
31
     */
32
    protected function setConfiguration($configuration = null)
33
    {
34
        assert($configuration instanceof TestConfiguration);
35
        if (!is_null($configuration)) {
36
            $this->configuration = $configuration;
37
        }
38
    }
39
40
    /**
41
     * @return TestConfiguration
42
     */
43
    public function getConfiguration()
44
    {
45
        assert($this->configuration instanceof TestConfiguration);
46
        return $this->configuration;
47
    }
48
49
    /**
50
     * @return TestData|null
51
     */
52
    public function getTestData()
53
    {
54
        assert($this->testData instanceof TestData || is_null($this->testData));
55
        return $this->testData;
56
    }
57
58
    /**
59
     * @param TestData|null $testData
60
     *
61
     * @return void
62
     */
63
    protected function setTestData($testData = null)
64
    {
65
        assert($testData instanceof TestData || is_null($testData));
66
        if (!is_null($testData)) {
67
            $this->testData = $testData;
68
        }
69
    }
70
71
    /**
72
     * @param TestResult $testResult
73
     *
74
     * @return void
75
     */
76
    protected function setTestResult($testResult)
77
    {
78
        assert($testResult instanceof TestResult);
79
        $this->testResult = $testResult;
80
    }
81
82
    /**
83
     * @return TestResult
84
     */
85
    public function getTestResult()
86
    {
87
        assert($this->testResult instanceof TestResult);
88
        return $this->testResult;
89
    }
90
91
    /**
92
     * @return array
93
     */
94
    public function getMessages()
95
    {
96
        assert(is_array($this->messages));
97
        return $this->messages;
98
    }
99
100
    /**
101
     * @return void
102
     */
103
    protected function setMessages($messages)
104
    {
105
        assert(is_array($messages));
106
        $this->messages = $messages;
107
    }
108
109
    /**
110
     * @param array $messages
111
     * @param string|null $index
112
     *
113
     * @return void
114
     */
115
    protected function addMessages($messages, $index = null)
116
    {
117
        if ($index === null) {
118
            $this->messages = array_merge($this->messages, $messages);
119
        } else {
120
            foreach ($messages as $message) {
121
                $this->messages[$index][] = $message;
122
            }
123
        }
124
    }
125
126
    /**
127
     * @param State $state
128
     * @param string $category
129
     * @param string $subject
130
     * @param string $message
131
     *
132
     * @return void
133
     */
134
    protected function addMessage($state, $category, $subject, $message)
135
    {
136
        assert(($state instanceof State) && is_string($category) && is_string($subject) && is_string($message));
137
        $this->messages[] = array($state, $category, $subject, $message);
138
    }
139
}
140