Merge "Replace ValueError with StopIteration in single() method"
This commit is contained in:
commit
f71a030508
@ -238,9 +238,9 @@ def single(collection):
|
||||
result = six.next(it)
|
||||
try:
|
||||
six.next(it)
|
||||
raise ValueError('Collection contains more than one item')
|
||||
except StopIteration:
|
||||
return result
|
||||
raise StopIteration('Collection contains more than one item')
|
||||
|
||||
|
||||
@specs.parameter('collection', yaqltypes.Iterable())
|
||||
|
@ -135,7 +135,7 @@ class TestQueries(yaql.tests.TestCase):
|
||||
def test_single(self):
|
||||
self.assertEqual(2, self.eval('list(2).single()'))
|
||||
self.assertRaises(StopIteration, self.eval, 'list().single()')
|
||||
self.assertRaises(ValueError, self.eval, 'list(1, 2).single()')
|
||||
self.assertRaises(StopIteration, self.eval, 'list(1, 2).single()')
|
||||
|
||||
def test_last(self):
|
||||
self.assertEqual(3, self.eval('list(2, 3).last()'))
|
||||
|
Loading…
Reference in New Issue
Block a user