#!/usr/bin/env python

"""Test Interface Query

Test the capabilities of querying a Component class or instance for it's
interface. That is it's event handlers it responds to.
"""


from circuits import Component


class Base(Component):

    def foo(self):
        pass


class SuperBase(Base):

    def bar(self):
        pass


def test_handles_base_class():
    assert Base.handles("foo")


def test_handles_super_base_class():
    assert SuperBase.handles("foo", "bar")


def test_handles_base_instance():
    base = Base()
    assert base.handles("foo")


def test_handles_super_base_instance():
    superbase = SuperBase()
    assert superbase.handles("foo", "bar")
