Skip to content

Commit 1fc21cd

Browse files
committed
Added test for union with generics
1 parent c9d407c commit 1fc21cd

File tree

1 file changed

+17
-1
lines changed

1 file changed

+17
-1
lines changed

tests/test_union.py

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
import marshmallow
77

8-
from marshmallow_dataclass import dataclass
8+
from marshmallow_dataclass import dataclass, NewType
99

1010

1111
class TestClassSchema(unittest.TestCase):
@@ -196,3 +196,19 @@ class PEP604IntOrStr:
196196

197197
data_in = {"value": 42}
198198
self.assertEqual(schema.dump(schema.load(data_in)), data_in)
199+
200+
def test_union_with_generics(self):
201+
IntList = NewType("IntList", List[int])
202+
203+
@dataclass
204+
class Dclass:
205+
value: Union[IntList, List[str]]
206+
207+
schema = Dclass.Schema()
208+
209+
self.assertEqual(
210+
schema.load({"value": [1, 2, 3]}), Dclass(value=IntList([1, 2, 3]))
211+
)
212+
self.assertEqual(
213+
schema.dump(Dclass(value=IntList([1, 2, 3]))), {"value": [1, 2, 3]}
214+
)

0 commit comments

Comments
 (0)