def test_queryable_where_manyfunc(): q = Queryable(range(10)).where(lambda x: x % 2 == 0) q = q.where(lambda x: x % 3 == 0) assert next(q) == 0 assert next(q) == 6 with pytest.raises(StopIteration): next(q)
def alerts(self): return Queryable.chain(*[p.alerts for p in self._providers.values()])
def arrivals(self): return Queryable.chain(*[p.arrivals for p in self._providers.values()])
def routes(self): return Queryable.chain(*[p.routes for p in self._providers.values()])
def stops(self): return Queryable.chain(*[p.stops for p in self._providers.values()])
def agencies(self): return Queryable.chain(*[p.agencies for p in self._providers.values()])
def qchain(): q1 = Queryable(range(10)).where(lambda x: x % 3 == 0) q2 = Queryable(range(10)).where(lambda x: x % 2 == 0) return Queryable.chain(q1, q2)
def test_queryable_unknown_obj_kwargs(): q = Queryable(range(10)).where(qwerty='uiop') with pytest.raises(StopIteration): next(q)
def test_queryable_dict_obj_kwargs(): q = Queryable({'id': x, 'odd': bool(x % 2)} for x in range(10)) assert next(q.where(odd=True))['id'] == 1
def test_queryable_where_none(): q = Queryable(range(10)) q_prime = q.where() assert q is q_prime