Skip to content

Commit 606cfd1

Browse files
author
Brad Walker
committed
newrange: added attr read-only properties
1 parent 09e17d4 commit 606cfd1

File tree

2 files changed

+22
-0
lines changed

2 files changed

+22
-0
lines changed

src/future/types/newrange.py

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -55,6 +55,18 @@ def __init__(self, *args):
5555
self._step = step
5656
self._len = (stop - start) // step + bool((stop - start) % step)
5757

58+
@property
59+
def start(self):
60+
return self._start
61+
62+
@property
63+
def stop(self):
64+
return self._stop
65+
66+
@property
67+
def step(self):
68+
return self._step
69+
5870
def __repr__(self):
5971
if self._step == 1:
6072
return 'range(%d, %d)' % (self._start, self._stop)

tests/test_future/test_range.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -99,6 +99,16 @@ def test_slice_zero_step(self):
9999
with self.assertRaisesRegexp(ValueError, msg):
100100
range(8)[::0]
101101

102+
def test_properties(self):
103+
# Exception string differs between PY2/3
104+
r = range(0)
105+
with self.assertRaises(AttributeError):
106+
r.start = 0
107+
with self.assertRaises(AttributeError):
108+
r.stop = 0
109+
with self.assertRaises(AttributeError):
110+
r.step = 0
111+
102112

103113
if __name__ == '__main__':
104114
unittest.main()

0 commit comments

Comments
 (0)