def test_detect_many_returns_empty_list_if_no_handler_found(fakefile):
    core.clear_registry()
    assert core.detect(fakefile, many=True) == []
def test_detect_single_returns_none_if_no_handler_found(fakefile):
    core.clear_registry()
    assert core.detect(fakefile, many=False) is None
def test_detect_single(fakefile):
    core.register_filehandler(FakeHandler)
    handler = core.detect(fakefile, many=False)
    assert isinstance(handler, FakeHandler)
def test_detect_many(fakefile):
    core.register_filehandler(FakeHandler)
    handlers = core.detect(fakefile, many=True)
    assert isinstance(handlers, list)
    assert isinstance(handlers[0], FakeHandler)
def test_detect_can_return_instances(fakefile):
    core.register_filehandler(FakeHandler)
    handlers = core.detect(fakefile, many=True, instance=True)
    assert isinstance(handlers[0], FakeHandler)
def test_detect_returns_a_single_handler_class_by_default(fakefile):
    core.register_filehandler(FakeHandler)
    handler = core.detect(fakefile)
    assert isinstance(handler, FakeHandler)