Schema directive
================

  >>> from uvc.content import schema

  >>> class Test(object):
  ...     pass

  >>> print(schema.bind(default=None).get(Test))
  None

  >>> inst = Test()
  >>> print(schema.bind(default=None).get(inst))
  None


  >>> class TestWrongSchema(object):  #doctest: +NORMALIZE_WHITESPACE +ELLIPSIS
  ...    schema('toto')
  Traceback (most recent call last):
  ...
  GrokImportError: schema directive can only use interface classes. toto is not an interface class.

  >>> from zope.interface import Interface

  >>> class SchemaA(Interface):
  ...     pass

  >>> class SchemaB(Interface):
  ...     pass


  >>> class TestWithSingleSchema(object):
  ...     schema(SchemaA)

  >>> schema.bind().get(TestWithSingleSchema)
  [<InterfaceClass __main__.SchemaA>]


  >>> class TestWithMultipleSchema(object):
  ...     schema(SchemaA, SchemaB)

  >>> schema.bind().get(TestWithMultipleSchema)
  [<InterfaceClass __main__.SchemaA>, <InterfaceClass __main__.SchemaB>]
