Skip to content

Commit

Permalink
parametrize a test with methodcaller
Browse files Browse the repository at this point in the history
  • Loading branch information
Chloe He committed May 28, 2024
1 parent 89d6f92 commit 79de201
Showing 1 changed file with 16 additions and 7 deletions.
23 changes: 16 additions & 7 deletions ibis/tests/expr/test_temporal_windows.py
Original file line number Diff line number Diff line change
@@ -1,18 +1,27 @@
from __future__ import annotations

from operator import methodcaller

import pytest

import ibis
import ibis.common.exceptions as com
from ibis.common.deferred import _


def test_window_by_agg_schema(table):
expr = (
table.window_by(time_col=table.i)
.tumble(size=ibis.interval(minutes=15))
.agg(by=["g"], a_sum=_.a.sum())
)
@pytest.mark.parametrize(
"method",
[
methodcaller("tumble", size=ibis.interval(minutes=15)),
methodcaller(
"hop", size=ibis.interval(minutes=15), slide=ibis.interval(minutes=1)
),
],
ids=["tumble", "hop"],
)
def test_window_by_agg_schema(table, method):
expr = method(table.window_by(time_col=table.i))
expr = expr.agg(by=["g"], a_sum=_.a.sum())
expected_schema = ibis.schema(
{
"window_start": "timestamp",
Expand All @@ -26,4 +35,4 @@ def test_window_by_agg_schema(table):

def test_window_by_with_non_timestamp_column(table):
with pytest.raises(com.IbisInputError):
table.window_by(time_col=table.a).tumble(size=ibis.interval(minutes=15))
table.window_by(time_col=table.a)

0 comments on commit 79de201

Please sign in to comment.