def METHOD_NAME():
    DefaultFactory = BasicRegistrationFactory()
    DefaultFactory.register(DefaultWidget, is_default=True)
    assert DefaultFactory.default_widget_type == DefaultWidget
    DefaultFactory.register(StandardWidget)
    DefaultFactory.register(FancyWidget)
    DefaultFactory.register(ExternallyValidatedWidget,
                            validation_function=external_validation_function)
    assert type(DefaultFactory()) is DefaultWidget
    assert type(DefaultFactory(style='standard')) is StandardWidget
    assert type(DefaultFactory(style='fancy')) is DefaultWidget
    assert type(DefaultFactory(style='fancy', feature="present")) is FancyWidget
    assert type(DefaultFactory(style='external')) is ExternallyValidatedWidget
    with pytest.raises(ValidationFunctionError):
        DefaultFactory.register(UnvalidatedWidget)
    with pytest.raises(ValidationFunctionError):
        DefaultFactory.register(MissingClassMethodWidget)
    DefaultFactory.unregister(StandardWidget)
    assert type(DefaultFactory(style='standard')) is not StandardWidget