def test_var_pop(self): expr = an.VarPop(self.table_abc.fizz) \ .over(self.table_abc.foo, self.table_abc.bar) \ .orderby(self.table_abc.date) q = Query.from_(self.table_abc).select(expr) self.assertEqual( 'SELECT ' 'VAR_POP("fizz") ' 'OVER(PARTITION BY "foo","bar" ORDER BY "date") ' 'FROM "abc"', str(q))
def test_varpop_rows_between_unbounded_preceeding_x_following(self): expr = an.VarPop(self.table_abc.fizz) \ .over(self.table_abc.foo) \ .orderby(self.table_abc.date) \ .rows(an.Preceding(), an.Following(6)) q = Query.from_(self.table_abc).select(expr) self.assertEqual( 'SELECT ' 'VAR_POP("fizz") ' 'OVER(' 'PARTITION BY "foo" ORDER BY "date" ' 'ROWS BETWEEN UNBOUNDED PRECEDING AND 6 FOLLOWING' ') ' 'FROM "abc"', str(q))
def test_varpop_range_unbounded_preceeding(self): expr = an.VarPop(self.table_abc.fizz) \ .over(self.table_abc.foo) \ .orderby(self.table_abc.date) \ .range(an.Preceding()) q = Query.from_(self.table_abc).select(expr) self.assertEqual( 'SELECT ' 'VAR_POP("fizz") ' 'OVER(' 'PARTITION BY "foo" ORDER BY "date" ' 'RANGE UNBOUNDED PRECEDING' ') ' 'FROM "abc"', str(q))
def test_varpop_range_unbounded_preceeding(self): expr = (an.VarPop(self.table_abc.fizz).over( self.table_abc.foo).orderby(self.table_abc.date).range( an.Preceding())) q = Query.from_(self.table_abc).select(expr) self.assertEqual( "SELECT " 'VAR_POP("fizz") ' "OVER(" 'PARTITION BY "foo" ORDER BY "date" ' "RANGE UNBOUNDED PRECEDING" ") " 'FROM "abc"', str(q), )