Skip to content

Commit ea08ff6

Browse files
committed
FIX(TCs) PY36 cannot pickle string TypeVars
1 parent 10e285f commit ea08ff6

File tree

1 file changed

+8
-5
lines changed

1 file changed

+8
-5
lines changed

test/test_sideffects.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
from itertools import cycle
77
from operator import add, mul, sub
88
from textwrap import dedent
9-
from typing import Tuple
9+
from typing import Any, Tuple
1010

1111
import pytest
1212

@@ -274,12 +274,15 @@ def test_sideffect_not_canceled_if_not_resched(exemethod):
274274
assert sol == {"b": 1}
275275

276276

277+
DataFrame = Any
278+
279+
277280
@pytest.fixture(params=[0, 1])
278281
def calc_prices_pipeline(request, exemethod):
279282
"""A pipeline that may work even without VAT-rates."""
280283

281284
@operation(needs="order_items", provides=sfxed("ORDER", "Items", "Prices"))
282-
def new_order(items: list) -> "pd.DataFrame":
285+
def new_order(items: list) -> DataFrame:
283286
order = {"items": items}
284287
# Pretend we get the prices from sales.
285288
order["prices"] = list(range(1, len(order["items"]) + 1))
@@ -289,7 +292,7 @@ def new_order(items: list) -> "pd.DataFrame":
289292
needs=[sfxed("ORDER", "Items"), "vat rate"],
290293
provides=sfxed("ORDER", "VAT rates"),
291294
)
292-
def fill_in_vat_ratios(order: "pd.DataFrame", base_vat: float) -> "pd.DataFrame":
295+
def fill_in_vat_ratios(order: DataFrame, base_vat: float) -> DataFrame:
293296
order["VAT_rates"] = [
294297
v for _, v in zip(order["prices"], cycle((base_vat, 2 * base_vat)))
295298
]
@@ -299,7 +302,7 @@ def fill_in_vat_ratios(order: "pd.DataFrame", base_vat: float) -> "pd.DataFrame"
299302
needs=[sfxed("ORDER", "Prices"), sfxed("ORDER", "VAT rates", optional=True),],
300303
provides=[sfxed("ORDER", "VAT", "Totals"), "vat owed"],
301304
)
302-
def finalize_prices(order: "pd.DataFrame") -> Tuple["pd.DataFrame", float]:
305+
def finalize_prices(order: DataFrame) -> Tuple[DataFrame, float]:
303306
if "VAT_rates" in order:
304307
order["VAT"] = [p * v for p, v in zip(order["prices"], order["VAT_rates"])]
305308
order["totals"] = [p + v for p, v in zip(order["prices"], order["VAT"])]
@@ -366,7 +369,7 @@ def test_sideffecteds_endured(calc_prices_pipeline):
366369
provides=sfxed("ORDER", "VAT rates"),
367370
endured=True,
368371
)
369-
def fill_in_vat_ratios(order: "pd.DataFrame", base_vat: float) -> "pd.DataFrame":
372+
def fill_in_vat_ratios(order: DataFrame, base_vat: float) -> DataFrame:
370373
raise ValueError("EC transactions have no VAT!")
371374

372375
calc_prices_pipeline = compose(

0 commit comments

Comments
 (0)