Skip to content

Commit 953278e

Browse files
VesnaTastaric
authored andcommitted
OWBoxPlot: Fix crash with missing values
1 parent b837878 commit 953278e

File tree

1 file changed

+55
-0
lines changed

1 file changed

+55
-0
lines changed
Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,55 @@
1+
# Test methods with long descriptive names can omit docstrings
2+
# pylint: disable=missing-docstring
3+
from unittest import skip
4+
5+
import numpy as np
6+
from Orange.data import Table, ContinuousVariable
7+
from Orange.widgets.visualize.owboxplot import OWBoxPlot
8+
from Orange.widgets.tests.base import WidgetTest
9+
10+
11+
class TestOWBoxPlot(WidgetTest):
12+
@classmethod
13+
def setUpClass(cls):
14+
super().setUpClass()
15+
cls.iris = Table("iris")
16+
cls.zoo = Table("zoo")
17+
cls.housing = Table("housing")
18+
19+
def setUp(self):
20+
self.widget = self.create_widget(OWBoxPlot)
21+
22+
@skip("Known bug, FIXME!")
23+
def test_input_data(self):
24+
"""Check widget's data"""
25+
self.send_signal("Data", self.iris)
26+
self.assertGreater(len(self.widget.attrs), 0)
27+
self.send_signal("Data", None)
28+
self.assertEqual(len(self.widget.attrs), 0)
29+
30+
def test_input_data_missings_cont_group_var(self):
31+
"""Check widget with continuous data with missing values and group variable"""
32+
data = self.iris
33+
data.X[:, 0] = np.nan
34+
self.send_signal("Data", data)
35+
# used to crash, see #1568
36+
37+
def test_input_data_missings_cont_no_group_var(self):
38+
"""Check widget with continuous data with missing values and no group variable"""
39+
data = self.housing
40+
data.X[:, 0] = np.nan
41+
self.send_signal("Data", data)
42+
# used to crash, see #1568
43+
44+
def test_input_data_missings_disc_group_var(self):
45+
"""Check widget with discrete data with missing values and group variable"""
46+
data = self.zoo
47+
data.X[:, 0] = np.nan
48+
self.send_signal("Data", data)
49+
50+
def test_input_data_missings_disc_no_group_var(self):
51+
"""Check widget discrete data with missing values and no group variable"""
52+
data = self.zoo
53+
data.domain.class_var = ContinuousVariable("cls")
54+
data.X[:, 0] = np.nan
55+
self.send_signal("Data", data)

0 commit comments

Comments
 (0)