1818from Orange .base import Learner
1919from Orange .modelling import ConstantLearner
2020from Orange .regression import MeanLearner
21- from Orange .widgets .evaluate .owtestlearners import (
22- OWTestLearners , results_one_vs_rest )
21+ from Orange .widgets .evaluate .owtestandscore import (
22+ OWTestAndScore , results_one_vs_rest )
2323from Orange .widgets .evaluate .utils import BUILTIN_SCORERS_ORDER
2424from Orange .widgets .settings import (
2525 ClassValuesContextHandler , PerfectDomainContextHandler )
@@ -33,10 +33,10 @@ def fit(self, *_, **_2): # pylint: disable=arguments-differ
3333 return 1 / 0
3434
3535
36- class TestOWTestLearners (WidgetTest ):
36+ class TestOWTestAndScore (WidgetTest ):
3737 def setUp (self ):
3838 super ().setUp ()
39- self .widget = self .create_widget (OWTestLearners ) # type: OWTestLearners
39+ self .widget = self .create_widget (OWTestAndScore ) # type: OWTestAndScore
4040
4141 self .scores_domain = Domain (
4242 [ContinuousVariable ("a" ), ContinuousVariable ("b" )],
@@ -82,7 +82,7 @@ def test_more_learners(self):
8282 def test_testOnTest (self ):
8383 data = Table ("iris" )
8484 self .send_signal (self .widget .Inputs .train_data , data )
85- self .widget .resampling = OWTestLearners .TestOnTest
85+ self .widget .resampling = OWTestAndScore .TestOnTest
8686 self .send_signal (self .widget .Inputs .test_data , data )
8787
8888 def test_testOnTest_incompatible_domain (self ):
@@ -91,7 +91,7 @@ def test_testOnTest_incompatible_domain(self):
9191 self .send_signal (self .widget .Inputs .learner , LogisticRegressionLearner (), 0 )
9292 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
9393 self .assertFalse (self .widget .Error .test_data_incompatible .is_shown ())
94- self .widget .resampling = OWTestLearners .TestOnTest
94+ self .widget .resampling = OWTestAndScore .TestOnTest
9595 # test data with the same class (otherwise the widget shows a different error)
9696 # and a non-nan X
9797 iris_test = iris .transform (Domain ([ContinuousVariable ("x" )],
@@ -106,7 +106,7 @@ def test_CrossValidationByFeature(self):
106106 attrs = data .domain .attributes
107107 domain = Domain (attrs [:- 1 ], attrs [- 1 ], data .domain .class_vars )
108108 data_with_disc_metas = Table .from_table (domain , data )
109- rb = self .widget .controls .resampling .buttons [OWTestLearners .FeatureFold ]
109+ rb = self .widget .controls .resampling .buttons [OWTestAndScore .FeatureFold ]
110110
111111 self .send_signal (self .widget .Inputs .learner , ConstantLearner (), 0 )
112112 self .send_signal (self .widget .Inputs .train_data , data )
@@ -117,15 +117,15 @@ def test_CrossValidationByFeature(self):
117117 self .send_signal (self .widget .Inputs .train_data , data_with_disc_metas )
118118 self .assertTrue (rb .isEnabled ())
119119 rb .click ()
120- self .assertEqual (self .widget .resampling , OWTestLearners .FeatureFold )
120+ self .assertEqual (self .widget .resampling , OWTestAndScore .FeatureFold )
121121 self .assertTrue (self .widget .features_combo .isEnabled ())
122122 self .assertEqual (self .widget .features_combo .currentText (), "iris" )
123123 self .assertEqual (len (self .widget .features_combo .model ()), 1 )
124124 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
125125
126126 self .send_signal (self .widget .Inputs .train_data , None )
127127 self .assertFalse (rb .isEnabled ())
128- self .assertEqual (self .widget .resampling , OWTestLearners .KFold )
128+ self .assertEqual (self .widget .resampling , OWTestAndScore .KFold )
129129 self .assertFalse (self .widget .features_combo .isEnabled ())
130130
131131 def test_migrate_removes_invalid_contexts (self ):
@@ -226,7 +226,7 @@ class NewRegressionScore(RegressionScore):
226226
227227 def test_target_changing (self ):
228228 data = Table ("iris" )
229- w = self .widget #: OWTestLearners
229+ w = self .widget #: OWTestAndScore
230230 model = w .score_table .model
231231
232232 w .n_folds = 2
@@ -305,7 +305,7 @@ def _retrieve_scores(self):
305305 return auc , ca , f1 , precision , recall
306306
307307 def _test_scores (self , train_data , test_data , learner , sampling , n_folds ):
308- w = self .widget #: OWTestLearners
308+ w = self .widget #: OWTestAndScore
309309 w .controls .resampling .buttons [sampling ].click ()
310310 if n_folds is not None :
311311 w .n_folds = n_folds
@@ -323,7 +323,7 @@ def test_scores_constant_all_same(self):
323323 )
324324
325325 self .assertTupleEqual (self ._test_scores (
326- table , table , ConstantLearner (), OWTestLearners .TestOnTest , None ),
326+ table , table , ConstantLearner (), OWTestAndScore .TestOnTest , None ),
327327 (None , 1 , 1 , 1 , 1 ))
328328
329329 def test_scores_log_reg_overfitted (self ):
@@ -334,7 +334,7 @@ def test_scores_log_reg_overfitted(self):
334334
335335 self .assertTupleEqual (self ._test_scores (
336336 table , table , LogisticRegressionLearner (),
337- OWTestLearners .TestOnTest , None ),
337+ OWTestAndScore .TestOnTest , None ),
338338 (1 , 1 , 1 , 1 , 1 ))
339339
340340 def test_scores_log_reg_bad (self ):
@@ -349,7 +349,7 @@ def test_scores_log_reg_bad(self):
349349
350350 self .assertTupleEqual (self ._test_scores (
351351 table_train , table_test , LogisticRegressionLearner (),
352- OWTestLearners .TestOnTest , None ),
352+ OWTestAndScore .TestOnTest , None ),
353353 (0 , 0 , 0 , 0 , 0 ))
354354
355355 def test_scores_log_reg_bad2 (self ):
@@ -361,7 +361,7 @@ def test_scores_log_reg_bad2(self):
361361 list (zip (* (self .scores_table_values + [list ("yynn" )]))))
362362 self .assertTupleEqual (self ._test_scores (
363363 table_train , table_test , LogisticRegressionLearner (),
364- OWTestLearners .TestOnTest , None ),
364+ OWTestAndScore .TestOnTest , None ),
365365 (0 , 0 , 0 , 0 , 0 ))
366366
367367 def test_scores_log_reg_advanced (self ):
@@ -377,7 +377,7 @@ def test_scores_log_reg_advanced(self):
377377 np .testing .assert_almost_equal (
378378 self ._test_scores (table_train , table_test ,
379379 LogisticRegressionLearner (),
380- OWTestLearners .TestOnTest , None ),
380+ OWTestAndScore .TestOnTest , None ),
381381 (2 / 3 , 0.8 , 0.8 , 13 / 15 , 0.8 ))
382382
383383 def test_scores_cross_validation (self ):
@@ -388,7 +388,7 @@ def test_scores_cross_validation(self):
388388 all (x >= y for x , y in zip (
389389 self ._test_scores (
390390 Table ("iris" )[::15 ], None , LogisticRegressionLearner (),
391- OWTestLearners .KFold , 0 ),
391+ OWTestAndScore .KFold , 0 ),
392392 (0.8 , 0.5 , 0.5 , 0.5 , 0.5 ))))
393393
394394 def test_no_pregressbar_warning (self ):
@@ -426,23 +426,23 @@ def test_comparison_requires_cv(self):
426426 self ._set_three_majorities ()
427427 baycomp .two_on_single .reset_mock ()
428428
429- rbs [OWTestLearners .KFold ].click ()
429+ rbs [OWTestAndScore .KFold ].click ()
430430 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
431431 self .assertIsNotNone (w .comparison_table .cellWidget (0 , 1 ))
432432 self .assertTrue (w .modcompbox .isEnabled ())
433433 self .assertTrue (w .comparison_table .isEnabled ())
434434 baycomp .two_on_single .assert_called ()
435435 baycomp .two_on_single .reset_mock ()
436436
437- rbs [OWTestLearners .LeaveOneOut ].click ()
437+ rbs [OWTestAndScore .LeaveOneOut ].click ()
438438 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
439439 self .assertIsNone (w .comparison_table .cellWidget (0 , 1 ))
440440 self .assertFalse (w .modcompbox .isEnabled ())
441441 self .assertFalse (w .comparison_table .isEnabled ())
442442 baycomp .two_on_single .assert_not_called ()
443443 baycomp .two_on_single .reset_mock ()
444444
445- rbs [OWTestLearners .KFold ].click ()
445+ rbs [OWTestAndScore .KFold ].click ()
446446 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
447447 self .assertIsNotNone (w .comparison_table .cellWidget (0 , 1 ))
448448 self .assertTrue (w .modcompbox .isEnabled ())
@@ -457,7 +457,7 @@ def test_comparison_requires_multiple_models(self):
457457
458458 self ._set_three_majorities ()
459459
460- rbs [OWTestLearners .KFold ].click ()
460+ rbs [OWTestAndScore .KFold ].click ()
461461 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
462462 self .assertTrue (w .comparison_table .isEnabled ())
463463
@@ -469,7 +469,7 @@ def test_comparison_requires_multiple_models(self):
469469 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
470470 self .assertFalse (w .comparison_table .isEnabled ())
471471
472- rbs [OWTestLearners .LeaveOneOut ].click ()
472+ rbs [OWTestAndScore .LeaveOneOut ].click ()
473473 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
474474 self .assertFalse (w .comparison_table .isEnabled ())
475475
@@ -479,7 +479,7 @@ def test_comparison_requires_multiple_models(self):
479479 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
480480 self .assertFalse (w .comparison_table .isEnabled ())
481481
482- rbs [OWTestLearners .KFold ].click ()
482+ rbs [OWTestAndScore .KFold ].click ()
483483 self .get_output (self .widget .Outputs .evaluations_results , wait = 5000 )
484484 self .assertTrue (w .comparison_table .isEnabled ())
485485
@@ -549,7 +549,7 @@ def test_comparison_binary_score(self):
549549 self .assertFalse ("average" in kwargs )
550550
551551 simulate .combobox_activate_item (w .controls .class_selection ,
552- OWTestLearners .TARGET_AVERAGE )
552+ OWTestAndScore .TARGET_AVERAGE )
553553 _ , kwargs = f1mock .call_args
554554 self .assertEqual (kwargs ["average" ], "weighted" )
555555 self .assertFalse ("target" in kwargs )
0 commit comments