# From 3.6 test_abc.py
# Bug was Receiver() class definition
import abc
import unittest


class TestABCWithInitSubclass(unittest.TestCase):
    def test_works_with_init_subclass(self):
        class ReceivesClassKwargs:
            def __init_subclass__(cls, **kwargs):
                super().__init_subclass__()

        class Receiver(ReceivesClassKwargs, abc.ABC, x=1, y=2, z=3):
            pass


def test_abstractmethod_integration(self):
    for abstractthing in [abc.abstractmethod]:

        class C(metaclass=abc.ABCMeta):
            @abstractthing
            def foo(self):
                pass  # abstract
