# Path: grazyna/modules.py
# class Plugin(list):
#     __slots__ = ('temp', 'name', 'module_path', 'future', 'config')
# 
#     def __init__(self, name, module_path, funcs):
#         super().__init__(funcs)
#         self.temp = {}
#         self.name = name
#         self.module_path = module_path
#         self.config = {}
#         self.future = Future()
# 
#     def __repr__(self):
#         return "Plugin(%r)" % self.name


from grazyna.modules import Plugin


def foo():
    pass


def test_plugin_init():
    plugin = Plugin('foobar', 'grazyna.foo', [foo])
    assert plugin.temp == {}
    assert plugin.name == 'foobar'
    assert plugin.module_path == 'grazyna.foo'
    assert plugin.config == {}
    assert plugin == [foo]


def test_plugin_repr():

# Path: grazyna/modules.py
# class Plugin(list):
#     __slots__ = ('temp', 'name', 'module_path', 'future', 'config')
# 
#     def __init__(self, name, module_path, funcs):
#         super().__init__(funcs)
#         self.temp = {}
#         self.name = name
#         self.module_path = module_path
#         self.config = {}
#         self.future = Future()
# 
#     def __repr__(self):
#         return "Plugin(%r)" % self.name


# Path: grazyna/tests/test_plugin.py
from grazyna.modules import Plugin



def foo():
    pass


def test_plugin_init():
    plugin = Plugin('foobar', 'grazyna.foo', [foo])
    assert plugin.temp == {}
    assert plugin.name == 'foobar'
    assert plugin.module_path == 'grazyna.foo'
    assert plugin.config == {}
    assert plugin == [foo]


def test_plugin_repr():

    plugin = Plugin('foobar', 'grazyna.foo', [])