Completed
Push — master ( e08c36...9a40d3 )
by Tim
01:44
created

TestFactory::addOutput()   A

Complexity

Conditions 2
Paths 2

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 5
nc 2
nop 2
dl 0
loc 8
rs 9.4285
c 0
b 0
f 0
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 State
24
     */
25
    private $state = State::NOSTATE;
26
27
    /**
28
     * @var array
29
     */
30
    private $messages = array();
31
32
33
    /**
34
     * @param TestConfiguration|null $configuration
35
     *
36
     * @return void
37
     */
38
    protected function setConfiguration($configuration = null)
39
    {
40
        assert($configuration instanceof TestConfiguration);
41
        if (!is_null($configuration)) {
42
            $this->configuration = $configuration;
43
        }
44
    }
45
46
47
    /**
48
     * @return TestConfiguration
49
     */
50
    public function getConfiguration()
51
    {
52
        assert($this->configuration instanceof TestConfiguration);
53
        return $this->configuration;
54
    }
55
56
57
    /**
58
     * @return TestData|null
59
     */
60
    public function getTestData()
61
    {
62
        assert($this->testData instanceof TestData || is_null($this->testData));
63
        return $this->testData;
64
    }
65
66
67
    /**
68
     * @param TestData|null $testData
69
     *
70
     * @return void
71
     */
72
    protected function setTestData($testData = null)
73
    {
74
        assert($testData instanceof TestData || is_null($testData));
75
        if (!is_null($testData)) {
76
            $this->testData = $testData;
77
        }
78
    }
79
80
81
    /**
82
     * @param TestResult $testResult
83
     *
84
     * @return void
85
     */
86
    protected function setTestResult($testResult)
87
    {
88
        assert($testResult instanceof TestResult);
89
        $this->testResult = $testResult;
90
    }
91
92
93
    /**
94
     * @param TestResult $testResult
95
     *
96
     * @return void
97
     */
98
    protected function addTestResult($testResult)
99
    {
100
        assert($testResult instanceof TestResult);
101
        $this->testResult[] = $testResult;
102
    }
103
104
105
    /**
106
     * @return TestResult
107
     */
108
    public function getTestResult()
109
    {
110
        assert($this->testResult instanceof TestResult);
111
        return $this->testResult;
112
    }
113
114
115
    /**
116
     * @return array
117
     */
118
    public function getMessages()
119
    {
120
        assert(is_array($this->messages));
121
        return $this->messages;
122
    }
123
124
125
    /**
126
     * @return State
127
     */
128
    public function getState()
129
    {
130
        assert($this->state instanceof State);
131
        return $this->state;
132
    }
133
134
135
    /**
136
     * @return void
137
     */
138
    protected function setMessages($messages)
139
    {
140
        assert(is_array($messages));
141
        $this->messages = $messages;
142
    }
143
144
145
    /**
146
     * @param array $messages
147
     * @param string|null $index
148
     *
149
     * @return void
150
     */
151
    protected function addMessages($messages, $index = null)
152
    {
153
        if ($index === null) {
154
            $this->messages = array_merge($this->messages, $messages);
155
        } else {
156
            foreach ($messages as $message) {
157
                $this->messages[$index][] = $message;
158
            }
159
        }
160
    }
161
162
163
    /**
164
     * @param State $state
165
     * @param string $category
166
     * @param string $subject
167
     * @param string $message
168
     *
169
     * @return void
170
     */
171
    protected function addMessage($state, $category, $subject, $message)
172
    {
173
        assert(($state instanceof State) && is_string($category) && is_string($subject) && is_string($message));
174
        $this->messages[] = array($state, $category, $subject, $message);
175
    }
176
177
178
    /**
179
     * @return void
180
     */
181
    protected function setState($state)
182
    {
183
        assert($state instanceof State);
184
        $this->state = $state;
185
    }
186
}
187