|
1 | 1 | from pathlib import Path
|
2 | 2 |
|
| 3 | +import pytest |
| 4 | + |
3 | 5 | from PyQt5.QtWidgets import QTableView
|
4 | 6 |
|
5 | 7 | from slice.models import DesignAxisModel, FontModel
|
@@ -139,6 +141,35 @@ def test_designaxis_model_instance_data_validates_missing_data(qtbot):
|
139 | 141 | assert model.instance_data_validates_missing_data() is True
|
140 | 142 |
|
141 | 143 |
|
| 144 | +def test_designaxis_model_instance_data_validates_invalid_data(qtbot): |
| 145 | + tableview = QTableView() |
| 146 | + model = DesignAxisModel() |
| 147 | + tableview.setModel(model) |
| 148 | + qtbot.addWidget(tableview) |
| 149 | + model.load_font(get_font_model()) |
| 150 | + |
| 151 | + # without user entered definitions, we should get |
| 152 | + # an empty axis tag / value dict |
| 153 | + # this is intentional so that these axes remain |
| 154 | + # variable |
| 155 | + assert model.get_instance_data() == {} |
| 156 | + |
| 157 | + assert model.instance_data_validates_missing_data() is False |
| 158 | + |
| 159 | + # fill model and try again |
| 160 | + # but this time add invalid data |
| 161 | + # this should prompt a ValueError exception |
| 162 | + model._data[0][1] = "" |
| 163 | + model._data[1][1] = "BOGUSVALUE" |
| 164 | + model._data[2][1] = "" |
| 165 | + model._data[3][1] = "" |
| 166 | + model._data[4][1] = "" |
| 167 | + model.layoutChanged.emit() |
| 168 | + |
| 169 | + with pytest.raises(ValueError): |
| 170 | + model.instance_data_validates_missing_data() |
| 171 | + |
| 172 | + |
142 | 173 | def test_designaxis_model_get_number_of_axes(qtbot):
|
143 | 174 | tableview = QTableView()
|
144 | 175 | model = DesignAxisModel()
|
|
0 commit comments