Skip to content

Commit 720924e

Browse files
committed
Move tests from test_typing to test_dataclasses
1 parent 304a658 commit 720924e

File tree

2 files changed

+93
-93
lines changed

2 files changed

+93
-93
lines changed

Lib/test/test_dataclasses.py

Lines changed: 93 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3128,6 +3128,99 @@ def test_text_annotations(self):
31283128
{'foo': dataclass_textanno.Foo,
31293129
'return': type(None)})
31303130

3131+
def test_dataclass_from_another_module(self):
3132+
# see bpo-45524
3133+
from test import dataclass_textanno
3134+
from dataclasses import dataclass
3135+
3136+
@dataclass
3137+
class Default(dataclass_textanno.Bar):
3138+
pass
3139+
3140+
@dataclass(init=False)
3141+
class WithInitFalse(dataclass_textanno.Bar):
3142+
pass
3143+
3144+
@dataclass(init=False)
3145+
class CustomInit(dataclass_textanno.Bar):
3146+
def __init__(self, foo: dataclass_textanno.Foo) -> None:
3147+
pass
3148+
3149+
@dataclass
3150+
class FutureInitChild(dataclass_textanno.WithFutureInit):
3151+
pass
3152+
3153+
classes = [
3154+
Default,
3155+
WithInitFalse,
3156+
CustomInit,
3157+
dataclass_textanno.WithFutureInit,
3158+
FutureInitChild,
3159+
]
3160+
for klass in classes:
3161+
with self.subTest(klass=klass):
3162+
self.assertEqual(
3163+
get_type_hints(klass),
3164+
{'foo': dataclass_textanno.Foo},
3165+
)
3166+
self.assertEqual(get_type_hints(klass.__new__), {})
3167+
self.assertEqual(
3168+
get_type_hints(klass.__init__),
3169+
{'foo': dataclass_textanno.Foo, 'return': type(None)},
3170+
)
3171+
3172+
def test_dataclass_from_proxy_module(self):
3173+
# see bpo-45524
3174+
from test import dataclass_textanno, dataclass_textanno2
3175+
from dataclasses import dataclass
3176+
3177+
@dataclass
3178+
class Default(dataclass_textanno2.Child):
3179+
pass
3180+
3181+
@dataclass(init=False)
3182+
class WithInitFalse(dataclass_textanno2.Child):
3183+
pass
3184+
3185+
@dataclass(init=False)
3186+
class CustomInit(dataclass_textanno2.Child):
3187+
def __init__(
3188+
self,
3189+
foo: dataclass_textanno.Foo,
3190+
custom: dataclass_textanno2.Custom,
3191+
) -> None:
3192+
pass
3193+
3194+
@dataclass
3195+
class FutureInitChild(dataclass_textanno2.WithFutureInit):
3196+
pass
3197+
3198+
classes = [
3199+
Default,
3200+
WithInitFalse,
3201+
CustomInit,
3202+
dataclass_textanno2.WithFutureInit,
3203+
FutureInitChild,
3204+
]
3205+
for klass in classes:
3206+
with self.subTest(klass=klass):
3207+
self.assertEqual(
3208+
get_type_hints(klass),
3209+
{
3210+
'foo': dataclass_textanno.Foo,
3211+
'custom': dataclass_textanno2.Custom,
3212+
},
3213+
)
3214+
self.assertEqual(get_type_hints(klass.__new__), {})
3215+
self.assertEqual(
3216+
get_type_hints(klass.__init__),
3217+
{
3218+
'foo': dataclass_textanno.Foo,
3219+
'custom': dataclass_textanno2.Custom,
3220+
'return': type(None),
3221+
},
3222+
)
3223+
31313224

31323225
class TestMakeDataclass(unittest.TestCase):
31333226
def test_simple(self):

Lib/test/test_typing.py

Lines changed: 0 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -3300,99 +3300,6 @@ def test_top_level_class_var(self):
33003300
):
33013301
get_type_hints(ann_module6)
33023302

3303-
def test_dataclass_from_another_module(self):
3304-
# see bpo-45524
3305-
from test import dataclass_textanno
3306-
from dataclasses import dataclass
3307-
3308-
@dataclass
3309-
class Default(dataclass_textanno.Bar):
3310-
pass
3311-
3312-
@dataclass(init=False)
3313-
class WithInitFalse(dataclass_textanno.Bar):
3314-
pass
3315-
3316-
@dataclass(init=False)
3317-
class CustomInit(dataclass_textanno.Bar):
3318-
def __init__(self, foo: dataclass_textanno.Foo) -> None:
3319-
pass
3320-
3321-
@dataclass
3322-
class FutureInitChild(dataclass_textanno.WithFutureInit):
3323-
pass
3324-
3325-
classes = [
3326-
Default,
3327-
WithInitFalse,
3328-
CustomInit,
3329-
dataclass_textanno.WithFutureInit,
3330-
FutureInitChild,
3331-
]
3332-
for klass in classes:
3333-
with self.subTest(klass=klass):
3334-
self.assertEqual(
3335-
get_type_hints(klass),
3336-
{'foo': dataclass_textanno.Foo},
3337-
)
3338-
self.assertEqual(get_type_hints(klass.__new__), {})
3339-
self.assertEqual(
3340-
get_type_hints(klass.__init__),
3341-
{'foo': dataclass_textanno.Foo, 'return': type(None)},
3342-
)
3343-
3344-
def test_dataclass_from_proxy_module(self):
3345-
# see bpo-45524
3346-
from test import dataclass_textanno, dataclass_textanno2
3347-
from dataclasses import dataclass
3348-
3349-
@dataclass
3350-
class Default(dataclass_textanno2.Child):
3351-
pass
3352-
3353-
@dataclass(init=False)
3354-
class WithInitFalse(dataclass_textanno2.Child):
3355-
pass
3356-
3357-
@dataclass(init=False)
3358-
class CustomInit(dataclass_textanno2.Child):
3359-
def __init__(
3360-
self,
3361-
foo: dataclass_textanno.Foo,
3362-
custom: dataclass_textanno2.Custom,
3363-
) -> None:
3364-
pass
3365-
3366-
@dataclass
3367-
class FutureInitChild(dataclass_textanno2.WithFutureInit):
3368-
pass
3369-
3370-
classes = [
3371-
Default,
3372-
WithInitFalse,
3373-
CustomInit,
3374-
dataclass_textanno2.WithFutureInit,
3375-
FutureInitChild,
3376-
]
3377-
for klass in classes:
3378-
with self.subTest(klass=klass):
3379-
self.assertEqual(
3380-
get_type_hints(klass),
3381-
{
3382-
'foo': dataclass_textanno.Foo,
3383-
'custom': dataclass_textanno2.Custom,
3384-
},
3385-
)
3386-
self.assertEqual(get_type_hints(klass.__new__), {})
3387-
self.assertEqual(
3388-
get_type_hints(klass.__init__),
3389-
{
3390-
'foo': dataclass_textanno.Foo,
3391-
'custom': dataclass_textanno2.Custom,
3392-
'return': type(None),
3393-
},
3394-
)
3395-
33963303

33973304
class GetUtilitiesTestCase(TestCase):
33983305
def test_get_origin(self):

0 commit comments

Comments
 (0)