示例#1
0
 def test_ordering(self):
     def f(l):
         return sorted(l, key=operator.itemgetter(0))
     self.assertEqual(
         list(iter_sort(
             f, *[iter(xrange(x, x + 10)) for x in (30, 20, 0, 10)])),
         list(xrange(40)))
示例#2
0
    def test_ordering(self):
        def f(l):
            return sorted(l, key=operator.itemgetter(0))

        result = list(
            iter_sort(f, *[iter(range(x, x + 10)) for x in (30, 20, 0, 10)]))
        expected = list(range(40))
        assert result == expected
示例#3
0
 def itermatch(self, restrict, **kwds):
     sorter = kwds.get("sorter", iter)
     if sorter is iter:
         return (match for repo in self.trees
             for match in repo.itermatch(restrict, **kwds))
     # ugly, and a bit slow, but works.
     def f(x, y):
         l = sorter([x, y])
         if l[0] == y:
             return 1
         return -1
     f = post_curry(sorted_cmp, f, key=self.zero_index_grabber)
     return iter_sort(f,
         *[repo.itermatch(restrict, **kwds) for repo in self.trees])
示例#4
0
    def itermatch(self, restrict, **kwds):
        sorter = kwds.get("sorter", iter)
        if sorter is iter:
            return (match for repo in self.trees
                    for match in repo.itermatch(restrict, **kwds))
        # ugly, and a bit slow, but works.
        def f(x, y):
            l = sorter([x, y])
            if l[0] == y:
                return 1
            return -1

        f = post_curry(sorted_cmp, f, key=self.zero_index_grabber)
        return iter_sort(
            f, *[repo.itermatch(restrict, **kwds) for repo in self.trees])
示例#5
0
 def test_ordering(self):
     def f(l):
         return sorted(l, key=operator.itemgetter(0))
     result = list(iter_sort(f, *[iter(range(x, x + 10)) for x in (30, 20, 0, 10)]))
     expected = list(range(40))
     assert result == expected
示例#6
0
 def itermatch(self, restrict):
     return iter_sort(
         self.__sorter__, *[repo.itermatch(restrict)
                            for repo in self.__repos__])