about summary refs log tree commit diff
path: root/tests/unit/computations
diff options
context:
space:
mode:
Diffstat (limited to 'tests/unit/computations')
-rw-r--r--tests/unit/computations/test_slink.py16
1 files changed, 16 insertions, 0 deletions
diff --git a/tests/unit/computations/test_slink.py b/tests/unit/computations/test_slink.py
index 64d123c..dd42d5d 100644
--- a/tests/unit/computations/test_slink.py
+++ b/tests/unit/computations/test_slink.py
@@ -184,3 +184,19 @@ class TestSlink(TestCase):
                     expected_distance=ed):
                 self.assertEqual(nearest(md, ml, mc), ed)
                 self.assertEqual(nearest(md, mc, ml), ed)
+
+    def test_given_2_lists_or_tuples_of_members_distances_nearest_returns_shortest_distance(self):
+        for md, ml, mc, ed in [
+                [[[0,9,3,6,11],[9,0,7,5,10],[3,7,0,9,2],[6,5,9,0,8],[11,10,2,8,0]],
+                 [0,1,2,3,4],[0,1,2,3,4],0],
+                [[[0,9,3,6,11],[9,0,7,5,10],[3,7,0,9,2],[6,5,9,0,8],[11,10,2,8,0]],
+                 [0,1],[3,4],6],
+                [[[0,9,3,6,11],[9,0,7,5,10],[3,7,0,9,2],[6,5,9,0,8],[11,10,2,8,0]],
+                 [0,1],[2,3,4],3],
+                [[[0,9,3,6,11],[9,0,7,5,10],[3,7,0,9,2],[6,5,9,0,8],[11,10,2,8,0]],
+                 [0,2],[3,4],6]]:
+            with self.subTest(
+                    members_distances=md, members_list=ml, member_coordinate=mc,
+                    expected_distance=ed):
+                self.assertEqual(nearest(md, ml, mc), ed)
+                self.assertEqual(nearest(md, mc, ml), ed)