-from unittest import TestCase, main
import sys
import types
+import unittest
-class Test(TestCase):
+class Test(unittest.TestCase):
def test_init_subclass(self):
- class A(object):
+ class A:
initialized = False
def __init_subclass__(cls):
self.assertTrue(B.initialized)
def test_init_subclass_dict(self):
- class A(dict, object):
+ class A(dict):
initialized = False
def __init_subclass__(cls):
self.assertTrue(B.initialized)
def test_init_subclass_kwargs(self):
- class A(object):
+ class A:
def __init_subclass__(cls, **kwargs):
cls.kwargs = kwargs
self.assertEqual(B.kwargs, dict(x=3))
def test_init_subclass_error(self):
- class A(object):
+ class A:
def __init_subclass__(cls):
raise RuntimeError
pass
def test_init_subclass_wrong(self):
- class A(object):
+ class A:
def __init_subclass__(cls, whatever):
pass
pass
def test_init_subclass_skipped(self):
- class BaseWithInit(object):
+ class BaseWithInit:
def __init_subclass__(cls, **kwargs):
super().__init_subclass__(**kwargs)
cls.initialized = cls
self.assertIs(BaseWithoutInit.initialized, BaseWithoutInit)
def test_init_subclass_diamond(self):
- class Base(object):
+ class Base:
def __init_subclass__(cls, **kwargs):
super().__init_subclass__(**kwargs)
cls.calls = []
class Left(Base):
pass
- class Middle(object):
+ class Middle:
def __init_subclass__(cls, middle, **kwargs):
super().__init_subclass__(**kwargs)
cls.calls += [middle]
self.owner = owner
self.name = name
- class A(object):
+ class A:
d = Descriptor()
self.assertEqual(A.d.name, "d")
self.assertIs(ret.d.owner, ret)
return 0
- class Descriptor(object):
+ class Descriptor:
def __set_name__(self, owner, name):
self.owner = owner
self.name = name
- class A(object, metaclass=Meta):
+ class A(metaclass=Meta):
d = Descriptor()
self.assertEqual(A, 0)
raise RuntimeError
with self.assertRaises(RuntimeError):
- class A(object):
+ class A:
d = Descriptor()
def test_set_name_wrong(self):
pass
with self.assertRaises(TypeError):
- class A(object):
+ class A:
d = Descriptor()
def test_set_name_init_subclass(self):
self.meta_name = self.name
return self
- class A(object):
+ class A:
def __init_subclass__(cls):
cls.owner = cls.d.owner
cls.name = cls.d.name
pass
with self.assertRaises(TypeError):
- class MyClass(object, metaclass=MyMeta, otherarg=1):
+ class MyClass(metaclass=MyMeta, otherarg=1):
pass
with self.assertRaises(TypeError):
super().__init__(name, bases, namespace)
with self.assertRaises(TypeError):
- class MyClass(object, metaclass=MyMeta, otherarg=1):
+ class MyClass(metaclass=MyMeta, otherarg=1):
pass
class MyMeta(type):
super().__init__(name, bases, namespace)
self.otherarg = otherarg
- class MyClass(object, metaclass=MyMeta, otherarg=1):
+ class MyClass(metaclass=MyMeta, otherarg=1):
pass
self.assertEqual(MyClass.otherarg, 1)
dict=namespace)
with self.assertRaises(TypeError):
- class MyClass(object, metaclass=MyMeta):
+ class MyClass(metaclass=MyMeta):
pass
class MyMeta(type):
self.otherarg = otherarg
return self
- class MyClass(object, metaclass=MyMeta, otherarg=1):
+ class MyClass(metaclass=MyMeta, otherarg=1):
pass
self.assertEqual(MyClass.otherarg, 1)
if __name__ == "__main__":
- main()
+ unittest.main()