11import unittest
22import numpy as np
33
4+ from AnyQt .QTest import QSignalSpy
5+
46from Orange .data import DiscreteVariable , ContinuousVariable , Domain , Table
57from Orange .preprocess import Preprocess
68from Orange .projection .manifold import TSNE
@@ -39,7 +41,8 @@ def optimize(*_, **__):
3941 owtsne .TSNEModel .transform = transform
4042 owtsne .TSNEModel .optimize = optimize
4143
42- self .widget = self .create_widget (OWtSNE )
44+ self .widget = self .create_widget (OWtSNE ,
45+ stored_settings = {"multiscale" : False })
4346
4447 self .class_var = DiscreteVariable ('Stage name' , values = ['STG1' , 'STG2' ])
4548 self .attributes = [ContinuousVariable ('GeneName' + str (i )) for i in range (5 )]
@@ -110,7 +113,11 @@ def test_attr_models(self):
110113 self .assertIn (var , controls .attr_shape .model ())
111114
112115 def test_output_preprocessor (self ):
116+ self .reset_tsne ()
113117 self .send_signal (self .widget .Inputs .data , self .data )
118+ if self .widget .isBlocking ():
119+ spy = QSignalSpy (self .widget .blockingStateChanged )
120+ self .assertTrue (spy .wait (5000 ))
114121 pp = self .get_output (self .widget .Outputs .preprocessor )
115122 self .assertIsInstance (pp , Preprocess )
116123 transformed = pp (self .data )
@@ -123,15 +130,15 @@ def test_output_preprocessor(self):
123130 [m .name for m in output .domain .metas [:2 ]])
124131
125132 def test_multiscale_changed (self ):
126- self .assertTrue (self .widget .controls .multiscale .isChecked ())
127- self .assertFalse (self .widget .perplexity_spin .isEnabled ())
128- self .widget .controls .multiscale .setChecked (False )
133+ self .assertFalse (self .widget .controls .multiscale .isChecked ())
129134 self .assertTrue (self .widget .perplexity_spin .isEnabled ())
135+ self .widget .controls .multiscale .setChecked (True )
136+ self .assertFalse (self .widget .perplexity_spin .isEnabled ())
130137
131138 settings = self .widget .settingsHandler .pack_data (self .widget )
132139 w = self .create_widget (OWtSNE , stored_settings = settings )
133- self .assertFalse (w .controls .multiscale .isChecked ())
134- self .assertTrue (w .perplexity_spin .isEnabled ())
140+ self .assertTrue (w .controls .multiscale .isChecked ())
141+ self .assertFalse (w .perplexity_spin .isEnabled ())
135142
136143
137144if __name__ == '__main__' :
0 commit comments