Skip to content

Commit 9c1bfa2

Browse files
committed
take test code out pf production code
1 parent 6221456 commit 9c1bfa2

3 files changed

Lines changed: 31 additions & 49 deletions

File tree

atest/resources/helpers/modelgenerator.py

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,9 @@
2828
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2929
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3030

31-
from robot.api.deco import keyword # type:ignore
3231
import os
32+
from types import SimpleNamespace
33+
from robot.api.deco import keyword # type:ignore
3334
from robotmbt.suiteprocessors import SuiteProcessors
3435

3536
visualisation_deps_present = True
@@ -217,9 +218,9 @@ def __convert_to_info_tuple(scenario_name: str, keyvaluestr: str | None) -> tupl
217218
Format:
218219
"domain1: key1=value1, key2=value2"
219220
"""
220-
scenario_name = scenario_name.strip()
221+
scenariostub = SimpleNamespace(name=scenario_name.strip(), src_id=scenario_name)
221222
if keyvaluestr is None:
222-
return (ScenarioInfo(scenario_name), StateInfo._create_state_with_prop("", []))
223+
return (ScenarioInfo(scenariostub), StateInfo._create_state_with_prop("", []))
223224

224225
keyvaluestr = keyvaluestr.strip()
225226

@@ -246,7 +247,7 @@ def __convert_to_info_tuple(scenario_name: str, keyvaluestr: str | None) -> tupl
246247
keyvalues.append((prev_key, prev_value))
247248
prev_key = new_key
248249

249-
return (ScenarioInfo(scenario_name), StateInfo._create_state_with_prop(domain, keyvalues))
250+
return (ScenarioInfo(scenariostub), StateInfo._create_state_with_prop(domain, keyvalues))
250251

251252
@staticmethod
252253
def __split_top_level(text):

robotmbt/visualise/models.py

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -49,15 +49,9 @@ class ScenarioInfo:
4949
- src_id
5050
"""
5151

52-
def __init__(self, scenario: Scenario | str):
53-
if isinstance(scenario, Scenario):
54-
# default case
55-
self.name = self._split_name(scenario.name)
56-
self.src_id = scenario.src_id
57-
else:
58-
# unit tests
59-
self.name = scenario
60-
self.src_id = scenario
52+
def __init__(self, scenario: Scenario):
53+
self.name = self._split_name(scenario.name)
54+
self.src_id = scenario.src_id
6155

6256
def __str__(self):
6357
return f"Scenario {self.src_id}: {self.name}"

utest/test_visualise_models.py

Lines changed: 23 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -28,34 +28,21 @@
2828
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2929
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
3030

31+
from types import SimpleNamespace
3132
import unittest
3233

3334
try:
34-
from robotmbt.visualise.models import *
35+
from robotmbt.visualise.models import ScenarioInfo, StateInfo, TraceInfo, ModelSpace
3536

3637
VISUALISE = True
3738
except ImportError:
3839
VISUALISE = False
3940

4041
if VISUALISE:
41-
class TestVisualiseModels(unittest.TestCase):
42-
"""
43-
Contains tests for robotmbt/visualise/models.py
44-
"""
45-
46-
"""
47-
Class: ScenarioInfo
48-
"""
49-
50-
def test_scenarioInfo_str(self):
51-
si = ScenarioInfo('test')
52-
self.assertEqual(si.name, 'test')
53-
self.assertEqual(si.src_id, 'test')
54-
55-
def test_scenarioInfo_Scenario(self):
56-
s = Scenario('test')
57-
s.src_id = 0
58-
si = ScenarioInfo(s)
42+
class TestScenarioInfo(unittest.TestCase):
43+
def test_scenarioInfo_constructor(self):
44+
scenariostub = SimpleNamespace(name='test', src_id=0)
45+
si = ScenarioInfo(scenariostub)
5946
self.assertEqual(si.name, 'test')
6047
self.assertEqual(si.src_id, 0)
6148

@@ -99,11 +86,10 @@ def test_split_name_multiple_words_need_split(self):
9986

10087
self.assertEqual(result.replace('\n', ' '), name)
10188
self.assertIn('\n', result)
89+
self.assertLessEqual(max([len(line) for line in result.split('\n')]), 20)
10290

103-
"""
104-
Class: StateInfo
105-
"""
10691

92+
class TestStateInfo(unittest.TestCase):
10793
def test_stateInfo_empty(self):
10894
s = StateInfo(ModelSpace())
10995
self.assertEqual(str(s), '')
@@ -135,81 +121,82 @@ def test_stateInfo_prop_val_empty(self):
135121
self.assertTrue('value=1' in str(s))
136122
self.assertFalse('prop2:' in str(s))
137123

138-
"""
139-
Class: TraceInfo
140-
"""
141124

125+
class TestTraceInfo(unittest.TestCase):
142126
def test_trace_info_update_normal(self):
143127
info = TraceInfo()
128+
scenariostub = SimpleNamespace(name='test', src_id=0)
144129

145130
self.assertEqual(len(info.current_trace), 0)
146131
self.assertEqual(len(info.all_traces), 0)
147132

148-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 1)]), 1)
133+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 1)]), 1)
149134

150135
self.assertEqual(len(info.current_trace), 1)
151136
self.assertEqual(len(info.all_traces), 0)
152137

153-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 2)]), 2)
138+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 2)]), 2)
154139

155140
self.assertEqual(len(info.current_trace), 2)
156141
self.assertEqual(len(info.all_traces), 0)
157142

158-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 3)]), 3)
143+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 3)]), 3)
159144

160145
self.assertEqual(len(info.current_trace), 3)
161146
self.assertEqual(len(info.all_traces), 0)
162147

163148
def test_trace_info_update_backtrack(self):
164149
info = TraceInfo()
150+
scenariostub = SimpleNamespace(name='test', src_id=0)
165151

166152
self.assertEqual(len(info.current_trace), 0)
167153
self.assertEqual(len(info.all_traces), 0)
168154

169-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 1)]), 1)
155+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 1)]), 1)
170156

171157
self.assertEqual(len(info.current_trace), 1)
172158
self.assertEqual(len(info.all_traces), 0)
173159

174-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 2)]), 2)
160+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 2)]), 2)
175161

176162
self.assertEqual(len(info.current_trace), 2)
177163
self.assertEqual(len(info.all_traces), 0)
178164

179-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 3)]), 3)
165+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 3)]), 3)
180166

181167
self.assertEqual(len(info.current_trace), 3)
182168
self.assertEqual(len(info.all_traces), 0)
183169

184-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 2)]), 2)
170+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 2)]), 2)
185171

186172
self.assertEqual(len(info.current_trace), 2)
187173
self.assertEqual(len(info.all_traces), 1)
188174
self.assertEqual(len(info.all_traces[0]), 3)
189175

190-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 1)]), 1)
176+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 1)]), 1)
191177

192178
self.assertEqual(len(info.current_trace), 1)
193179
self.assertEqual(len(info.all_traces), 1)
194180
self.assertEqual(len(info.all_traces[0]), 3)
195181

196-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 4)]), 2)
182+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 4)]), 2)
197183

198184
self.assertEqual(len(info.current_trace), 2)
199185
self.assertEqual(len(info.all_traces), 1)
200186
self.assertEqual(len(info.all_traces[0]), 3)
201187

202-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 5)]), 3)
188+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 5)]), 3)
203189

204190
self.assertEqual(len(info.current_trace), 3)
205191
self.assertEqual(len(info.all_traces), 1)
206192
self.assertEqual(len(info.all_traces[0]), 3)
207193

208-
info.update_trace(ScenarioInfo('test'), StateInfo._create_state_with_prop('prop', [('value', 6)]), 4)
194+
info.update_trace(ScenarioInfo(scenariostub), StateInfo._create_state_with_prop('prop', [('value', 6)]), 4)
209195

210196
self.assertEqual(len(info.current_trace), 4)
211197
self.assertEqual(len(info.all_traces), 1)
212198
self.assertEqual(len(info.all_traces[0]), 3)
213199

200+
214201
if __name__ == '__main__':
215202
unittest.main()

0 commit comments

Comments
 (0)