Beispiel #1
0
 def test_reverse(self):
     """Test the `reverse` kwarg."""
     iterables = [range(4, 0, -1), range(7, 0, -1), range(3, 6, -1)]
     self.assertEqual(sorted(reduce(list.__add__,
                                    [list(it) for it in iterables]),
                             reverse=True),
                      list(collate(*iterables, reverse=True)))
 def test_key(self):
     """Test using a custom `key` function."""
     iterables = [xrange(5, 0, -1), xrange(4, 0, -1)]
     eq_(list(sorted(reduce(list.__add__,
                                     [list(it) for it in iterables]),
                     reverse=True)),
         list(collate(*iterables, key=lambda x: -x)))
Beispiel #3
0
 def test_key(self):
     """Test using a custom `key` function."""
     iterables = [range(5, 0, -1), range(4, 0, -1)]
     self.assertEqual(
         list(
             sorted(reduce(list.__add__, [list(it) for it in iterables]),
                    reverse=True)),
         list(collate(*iterables, key=lambda x: -x)))
    def _users_watching(self, **kwargs):
        # Get a sorted iterable of user-watches pairs:
        users_and_watches = collate(
            *[e._users_watching(**kwargs) for e in self.events],
            key=lambda (user, watch): user.email.lower(),
            reverse=True)

        # Pick the best User out of each cluster of identical email addresses:
        return _unique_by_email(users_and_watches)
 def test_one(self):
     """Work when only 1 iterable is passed."""
     eq_([0, 1], list(collate(xrange(2))))
 def test_empty(self):
     """Be nice if passed an empty list of iterables."""
     eq_([], list(collate()))
 def test_default(self):
     """Test with the default `key` function."""
     iterables = [xrange(4), xrange(7), xrange(3, 6)]
     eq_(sorted(reduce(list.__add__, [list(it) for it in iterables])),
         list(collate(*iterables)))
Beispiel #8
0
 def test_default(self):
     """Test with the default `key` function."""
     iterables = [range(4), range(7), range(3, 6)]
     self.assertEqual(
         sorted(reduce(list.__add__, [list(it) for it in iterables])),
         list(collate(*iterables)))
Beispiel #9
0
 def test_reverse(self):
     """Test the `reverse` kwarg."""
     iterables = [range(4, 0, -1), range(7, 0, -1), range(3, 6, -1)]
     self.assertEqual(
         sorted(reduce(list.__add__, [list(it) for it in iterables]),
                reverse=True), list(collate(*iterables, reverse=True)))
Beispiel #10
0
 def test_one(self):
     """Work when only 1 iterable is passed."""
     self.assertEqual([0, 1], list(collate(range(2))))
Beispiel #11
0
 def test_empty(self):
     """Be nice if passed an empty list of iterables."""
     self.assertEqual([], list(collate()))
Beispiel #12
0
 def test_one(self):
     """Work when only 1 iterable is passed."""
     self.assertEqual([0, 1], list(collate(range(2))))
Beispiel #13
0
 def test_empty(self):
     """Be nice if passed an empty list of iterables."""
     self.assertEqual([], list(collate()))