Skip to content

Commit 1fb5f8a

Browse files
authored
Merge pull request #4131 from PrimozGodec/neighbours-remove-info
Neighbours additional tests for different domains
2 parents 5febf5f + 7e94c43 commit 1fb5f8a

File tree

1 file changed

+35
-2
lines changed

1 file changed

+35
-2
lines changed

Orange/widgets/data/tests/test_owneighbors.py

Lines changed: 35 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -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

460493
if __name__ == "__main__":

0 commit comments

Comments
 (0)