1
1
import unittest
2
2
3
- from orangewidget .tests .base import WidgetTest
4
-
5
3
from AnyQt .QtCore import Qt , QPoint
6
4
from AnyQt .QtTest import QTest , QSignalSpy
7
5
from AnyQt .QtWidgets import QTreeWidget , QTreeWidgetItem , QTreeWidgetItemIterator
8
6
7
+ from orangewidget .tests .base import WidgetTest
8
+
9
9
from Orange .data import Table , Domain , StringVariable , DiscreteVariable
10
10
from Orange .widgets .widget import Msg , OWWidget
11
11
from Orange .widgets .settings import SettingProvider
@@ -38,25 +38,30 @@ def setUp(self):
38
38
self .human_tax_id : str = '9606'
39
39
self .dicty_tax_id : str = '44689'
40
40
41
- self .default_selection = [('GO' , 'biological_process' )]
42
- self .marker_genes = [('Marker Genes' , 'Panglao' ), ('Marker Genes' , 'CellMarker' )]
41
+ self .default_selection = [('KEGG' , 'Pathways' )]
42
+ self .marker_genes = [
43
+ ('Marker Genes' , 'Panglao' ),
44
+ ('Marker Genes' , 'CellMarker' ),
45
+ ]
43
46
self .gene_ontologies = [
44
47
('GO' , 'cellular_component' ),
45
48
('GO' , 'biological_process' ),
46
49
('GO' , 'molecular_function' ),
47
50
]
48
51
49
52
def __item_iterator (self ):
50
- iterator = QTreeWidgetItemIterator (self .component .hierarchy_tree_widget , QTreeWidgetItemIterator .All )
53
+ iterator = QTreeWidgetItemIterator (
54
+ self .component .hierarchy_tree_widget , QTreeWidgetItemIterator .All
55
+ )
51
56
52
57
while iterator .value ():
53
58
item : QTreeWidgetItem = iterator .value ()
54
59
if not item .childCount ():
55
60
yield item
56
61
iterator += 1
57
62
58
- def __initialization (self , tax_id : str ) -> None :
59
- self .component .initialize (tax_id )
63
+ def __initialization (self ) -> None :
64
+ self .component .initialize ()
60
65
61
66
# test if gene sets are shown
62
67
gene_set_items = {item .hierarchy for item in self .__item_iterator ()}
@@ -72,20 +77,20 @@ def __initialization(self, tax_id: str) -> None:
72
77
self .assertTrue (len (selection ))
73
78
self .assertEqual (selection , self .default_selection )
74
79
75
- def test_dictyostelium (self ):
76
- self .__initialization (self .dicty_tax_id )
77
- self .assertEqual (self .component .gene_sets .common_org (), self .dicty_tax_id )
78
-
79
- def test_mus_musculus (self ):
80
- self .__initialization (self .mouse_tax_id )
81
- self .assertEqual (self .component .gene_sets .common_org (), self .mouse_tax_id )
80
+ # def test_dictyostelium(self):
81
+ # self.__initialization()
82
+ # self.assertEqual(self.component.gene_sets.common_org(), self.dicty_tax_id)
82
83
83
- def test_homo_sapiens (self ):
84
- self .__initialization (self .human_tax_id )
85
- self .assertEqual (self .component .gene_sets .common_org (), self .human_tax_id )
84
+ # def test_mus_musculus(self):
85
+ # self.__initialization()
86
+ # self.assertEqual(self.component.gene_sets.common_org(), self.mouse_tax_id)
87
+ #
88
+ # def test_homo_sapiens(self):
89
+ # self.__initialization()
90
+ # self.assertEqual(self.component.gene_sets.common_org(), self.human_tax_id)
86
91
87
92
def test_selection (self ):
88
- self .__initialization (self . human_tax_id )
93
+ self .__initialization ()
89
94
90
95
panglao , _ = self .marker_genes
91
96
@@ -102,42 +107,57 @@ def test_selection(self):
102
107
# simulate click on item but not in checkbox area.
103
108
# checkbox status is not changed and signal is not emitted
104
109
click_item_text = QPoint (rect .x () + 100 , rect .y () + 5 )
105
- QTest .mouseClick (tree_widget .viewport (), Qt .LeftButton , Qt .NoModifier , click_item_text )
110
+ QTest .mouseClick (
111
+ tree_widget .viewport (), Qt .LeftButton , Qt .NoModifier , click_item_text
112
+ )
106
113
self .assertFalse (len (emitted_signals ))
107
114
self .assertEqual (self .component ._get_selection (), self .default_selection )
108
115
109
116
# simulate click on items checkbox.
110
117
# checkbox status is changed and signal is emitted
111
118
click_checkbox = QPoint (rect .x () + 10 , rect .y () + 5 )
112
- QTest .mouseClick (tree_widget .viewport (), Qt .LeftButton , Qt .NoModifier , click_checkbox )
119
+ QTest .mouseClick (
120
+ tree_widget .viewport (), Qt .LeftButton , Qt .NoModifier , click_checkbox
121
+ )
113
122
self .assertTrue (len (emitted_signals ))
114
123
self .assertNotEqual (self .component ._get_selection (), self .default_selection )
115
- self .assertEqual (set (self .component ._get_selection ()), set (self .default_selection + [new_selection .hierarchy ]))
124
+ self .assertEqual (
125
+ set (self .component ._get_selection ()),
126
+ set (self .default_selection + [new_selection .hierarchy ]),
127
+ )
116
128
117
129
def test_custom_gene_sets (self ):
118
130
domain = Domain (
119
- [], metas = [StringVariable ('genes' )], class_vars = DiscreteVariable ('cell_type' , values = ['foo' , 'bar' ])
131
+ [],
132
+ metas = [StringVariable ('genes' )],
133
+ class_vars = DiscreteVariable ('cell_type' , values = ['foo' , 'bar' ]),
120
134
)
121
135
data = Table .from_list (domain , [[0 , 'gene1' ], [1 , 'gene2' ], [1 , 'gene3' ]])
122
136
data .name = 'custom_gene_sets'
123
137
data .attributes [TableAnnotation .tax_id ] = self .human_tax_id
124
138
data .attributes [TableAnnotation .gene_as_attr_name ] = False
125
139
data .attributes [TableAnnotation .gene_id_column ] = 'genes'
126
140
127
- self .__initialization (self . human_tax_id )
141
+ self .__initialization ()
128
142
self .component .initialize_custom_gene_sets (data )
129
143
130
144
self .assertTrue (self .component .gene_sets_combobox .isEnabled ())
131
145
self .assertEqual (self .component .custom_gene_set_hierarchy , (data .name ,))
132
146
self .assertEqual (self .component ._get_selection (), [(data .name ,)])
133
- self .assertIn ((data .name ,), self .component .gene_sets .map_hierarchy_to_sets ().keys ())
147
+ self .assertIn (
148
+ (data .name ,), self .component .gene_sets .map_hierarchy_to_sets ().keys ()
149
+ )
134
150
135
151
emitted_signals : QSignalSpy = QSignalSpy (self .component .selection_changed )
136
152
simulate .combobox_run_through_all (self .component .gene_sets_combobox )
137
- self .assertEqual (len (emitted_signals ), len (data .domain .metas ) + len (data .domain .class_vars ))
153
+ self .assertEqual (
154
+ len (emitted_signals ), len (data .domain .metas ) + len (data .domain .class_vars )
155
+ )
138
156
139
157
self .component .initialize_custom_gene_sets (None )
140
- self .assertNotIn ((data .name ,), self .component .gene_sets .map_hierarchy_to_sets ().keys ())
158
+ self .assertNotIn (
159
+ (data .name ,), self .component .gene_sets .map_hierarchy_to_sets ().keys ()
160
+ )
141
161
self .assertIsNone (self .component .custom_gene_set_hierarchy )
142
162
self .assertTrue (self .component .custom_gs_box .isHidden ())
143
163
0 commit comments