aboutsummaryrefslogtreecommitdiff
path: root/challenge-196/roger-bell-west/python/ch-2.py
diff options
context:
space:
mode:
Diffstat (limited to 'challenge-196/roger-bell-west/python/ch-2.py')
-rwxr-xr-xchallenge-196/roger-bell-west/python/ch-2.py30
1 files changed, 30 insertions, 0 deletions
diff --git a/challenge-196/roger-bell-west/python/ch-2.py b/challenge-196/roger-bell-west/python/ch-2.py
new file mode 100755
index 0000000000..caece39ab6
--- /dev/null
+++ b/challenge-196/roger-bell-west/python/ch-2.py
@@ -0,0 +1,30 @@
+#! /usr/bin/python3
+
+import unittest
+
+def rangelist(l):
+ o = []
+ start = l[0]
+ prev = start
+ for v in l[1:]:
+ if v != prev + 1:
+ if prev > start:
+ o.append([start, prev])
+ start = v
+ prev = v
+ if prev > start:
+ o.append([start, prev])
+ return o
+
+class TestRangelist(unittest.TestCase):
+
+ def test_ex1(self):
+ self.assertEqual(rangelist([1, 3, 4, 5, 7]), [[3, 5]], 'example 1')
+
+ def test_ex2(self):
+ self.assertEqual(rangelist([1, 2, 3, 6, 7, 9]), [[1, 3], [6, 7]], 'example 2')
+
+ def test_ex3(self):
+ self.assertEqual(rangelist([0, 1, 2, 4, 5, 6, 8, 9]), [[0, 2], [4, 6], [8, 9]], 'example 3')
+
+unittest.main()