Fix variants of deque.extend: d.extend(d) d+=d d.extendleft(d)

This commit is contained in:
Raymond Hettinger 2009-12-10 05:36:11 +00:00
parent 53b44f75c1
commit 64eaa20c68
3 changed files with 53 additions and 0 deletions

View file

@ -136,12 +136,23 @@ class TestBasic(unittest.TestCase):
self.assertRaises(TypeError, d.extend, 1)
d.extend('bcd')
self.assertEqual(list(d), list('abcd'))
d.extend(d)
self.assertEqual(list(d), list('abcdabcd'))
def test_iadd(self):
d = deque('a')
d += 'bcd'
self.assertEqual(list(d), list('abcd'))
d += d
self.assertEqual(list(d), list('abcdabcd'))
def test_extendleft(self):
d = deque('a')
self.assertRaises(TypeError, d.extendleft, 1)
d.extendleft('bcd')
self.assertEqual(list(d), list(reversed('abcd')))
d.extendleft(d)
self.assertEqual(list(d), list('abcddcba'))
d = deque()
d.extendleft(range(1000))
self.assertEqual(list(d), list(reversed(range(1000))))