@@ -409,13 +409,15 @@ def test_different_metas(self):
409409 domain = Domain ([ContinuousVariable ("a" ), ContinuousVariable ("b" )],
410410 metas = [ContinuousVariable ("c" )])
411411 data = Table (
412- domain , np .random .rand (2 , len (domain .attributes )),
413- metas = np .random .rand (2 , len (domain .metas )))
412+ domain , np .random .rand (15 , len (domain .attributes )),
413+ metas = np .random .rand (15 , len (domain .metas )))
414414
415415 # same domain with same metas no error
416416 self .send_signal (w .Inputs .data , data )
417417 self .send_signal (w .Inputs .reference , data [:1 ])
418418 self .assertFalse (w .Error .diff_domains .is_shown ())
419+ output = self .get_output (w .Outputs .data )
420+ self .assertEqual (10 , len (output ))
419421
420422 # same domain with different metas no error
421423 domain_ref = Domain (domain .attributes ,
@@ -426,6 +428,8 @@ def test_different_metas(self):
426428 self .send_signal (w .Inputs .data , data )
427429 self .send_signal (w .Inputs .reference , reference )
428430 self .assertFalse (w .Error .diff_domains .is_shown ())
431+ output = self .get_output (w .Outputs .data )
432+ self .assertEqual (10 , len (output ))
429433
430434 # same domain with different order - no error
431435 domain_ref = Domain (domain .attributes [::- 1 ])
@@ -434,6 +438,8 @@ def test_different_metas(self):
434438 self .send_signal (w .Inputs .data , data )
435439 self .send_signal (w .Inputs .reference , reference )
436440 self .assertFalse (w .Error .diff_domains .is_shown ())
441+ output = self .get_output (w .Outputs .data )
442+ self .assertEqual (10 , len (output ))
437443
438444 # same domain with different number of metas no error
439445 domain_ref = Domain (
@@ -445,6 +451,8 @@ def test_different_metas(self):
445451 self .send_signal (w .Inputs .data , data )
446452 self .send_signal (w .Inputs .reference , reference )
447453 self .assertFalse (w .Error .diff_domains .is_shown ())
454+ output = self .get_output (w .Outputs .data )
455+ self .assertEqual (10 , len (output ))
448456
449457 # different domain with same metas - error shown
450458 domain_ref = Domain (domain .attributes + (ContinuousVariable ("e" ),),
@@ -455,6 +463,31 @@ def test_different_metas(self):
455463 self .send_signal (w .Inputs .data , data )
456464 self .send_signal (w .Inputs .reference , reference )
457465 self .assertTrue (w .Error .diff_domains .is_shown ())
466+ output = self .get_output (w .Outputs .data )
467+ self .assertIsNone (output )
468+
469+ def test_different_domains_same_names (self ):
470+ """
471+ Here we create two domains with same names of attributes - the case
472+ with image-analytics (two embeddings). Widget must not show the
473+ error in this case.
474+ """
475+ w = self .widget
476+ domain1 = Domain ([ContinuousVariable ("a" ), ContinuousVariable ("b" )],
477+ metas = [ContinuousVariable ("c" )])
478+ domain2 = Domain ([ContinuousVariable ("a" ), ContinuousVariable ("b" )],
479+ metas = [ContinuousVariable ("d" )])
480+ data = Table (
481+ domain1 , np .random .rand (15 , len (domain1 .attributes )),
482+ metas = np .random .rand (15 , len (domain1 .metas )))
483+ ref = Table (
484+ domain2 , np .random .rand (2 , len (domain2 .attributes )),
485+ metas = np .random .rand (2 , len (domain2 .metas )))
486+ self .send_signal (w .Inputs .data , data )
487+ self .send_signal (w .Inputs .reference , ref )
488+ self .assertFalse (w .Error .diff_domains .is_shown ())
489+ output = self .get_output (w .Outputs .data )
490+ self .assertEqual (10 , len (output ))
458491
459492
460493if __name__ == "__main__" :
0 commit comments