summaryrefslogtreecommitdiffstats
path: root/Lib
diff options
context:
space:
mode:
authorPetri Lehtinen <petri@digip.org>2011-11-05 20:00:14 (GMT)
committerPetri Lehtinen <petri@digip.org>2011-11-05 20:00:17 (GMT)
commit7d7cee9f64a03896033a3ec06dbd607abeaf8a22 (patch)
treea7712eebd8254348b6ecd52baef039b656dd663d /Lib
parent6ab96e41bd917784e6cf60bd0204a84996ddfa0f (diff)
parentd64fc39a8010959f85c81fb33df46c9aaf71ba0e (diff)
downloadcpython-7d7cee9f64a03896033a3ec06dbd607abeaf8a22.zip
cpython-7d7cee9f64a03896033a3ec06dbd607abeaf8a22.tar.gz
cpython-7d7cee9f64a03896033a3ec06dbd607abeaf8a22.tar.bz2
Merge heads
Diffstat (limited to 'Lib')
-rw-r--r--Lib/test/test_range.py29
1 files changed, 29 insertions, 0 deletions
diff --git a/Lib/test/test_range.py b/Lib/test/test_range.py
index 6035e76..2e335cc 100644
--- a/Lib/test/test_range.py
+++ b/Lib/test/test_range.py
@@ -560,6 +560,35 @@ class RangeTest(unittest.TestCase):
range(0) >= range(0)
+ def test_attributes(self):
+ # test the start, stop and step attributes of range objects
+ self.assert_attrs(range(0), 0, 0, 1)
+ self.assert_attrs(range(10), 0, 10, 1)
+ self.assert_attrs(range(-10), 0, -10, 1)
+ self.assert_attrs(range(0, 10, 1), 0, 10, 1)
+ self.assert_attrs(range(0, 10, 3), 0, 10, 3)
+ self.assert_attrs(range(10, 0, -1), 10, 0, -1)
+ self.assert_attrs(range(10, 0, -3), 10, 0, -3)
+
+ def assert_attrs(self, rangeobj, start, stop, step):
+ self.assertEqual(rangeobj.start, start)
+ self.assertEqual(rangeobj.stop, stop)
+ self.assertEqual(rangeobj.step, step)
+
+ with self.assertRaises(AttributeError):
+ rangeobj.start = 0
+ with self.assertRaises(AttributeError):
+ rangeobj.stop = 10
+ with self.assertRaises(AttributeError):
+ rangeobj.step = 1
+
+ with self.assertRaises(AttributeError):
+ del rangeobj.start
+ with self.assertRaises(AttributeError):
+ del rangeobj.stop
+ with self.assertRaises(AttributeError):
+ del rangeobj.step
+
def test_main():
test.support.run_unittest(RangeTest)