|
1 | 1 | # Test methods with long descriptive names can omit docstrings |
2 | 2 | # pylint: disable=missing-docstring |
3 | | -from unittest.mock import patch |
| 3 | +from unittest.mock import patch, Mock |
4 | 4 | import itertools |
5 | 5 |
|
6 | 6 | from Orange.data import Table |
@@ -82,3 +82,34 @@ def choose_file(a, b, c, d, e, fn=filename, w=writer): |
82 | 82 | with patch("AnyQt.QtWidgets.QFileDialog.getSaveFileName", choose_file): |
83 | 83 | self.widget.save_file_as() |
84 | 84 | self.assertEqual(len(Table(filename)), 150) |
| 85 | + |
| 86 | + def test_format_combo(self): |
| 87 | + widget = self.widget |
| 88 | + filetype = widget.controls.filetype |
| 89 | + |
| 90 | + widget.save_file = Mock() |
| 91 | + |
| 92 | + data = Table("iris") |
| 93 | + sparse_data = Table("iris") |
| 94 | + sparse_data.is_sparse = Mock(return_value=True) |
| 95 | + |
| 96 | + self.send_signal(widget.Inputs.data, data) |
| 97 | + n_nonsparse = filetype.count() |
| 98 | + |
| 99 | + self.send_signal(widget.Inputs.data, sparse_data) |
| 100 | + n_sparse = filetype.count() |
| 101 | + self.assertGreater(n_nonsparse, n_sparse) |
| 102 | + |
| 103 | + self.send_signal(widget.Inputs.data, sparse_data) |
| 104 | + self.assertEqual(filetype.count(), n_sparse) |
| 105 | + |
| 106 | + self.send_signal(widget.Inputs.data, data) |
| 107 | + self.assertEqual(filetype.count(), n_nonsparse) |
| 108 | + |
| 109 | + self.send_signal(widget.Inputs.data, None) |
| 110 | + self.send_signal(widget.Inputs.data, data) |
| 111 | + self.assertEqual(filetype.count(), n_nonsparse) |
| 112 | + |
| 113 | + self.send_signal(widget.Inputs.data, None) |
| 114 | + self.send_signal(widget.Inputs.data, sparse_data) |
| 115 | + self.assertEqual(filetype.count(), n_sparse) |
0 commit comments