def mock_interface_settings_endpoint_factory(mocker, mock_interface_settings_match, mock_endpoint):
    """
    Fixture that yields a factory function used to create a USB interface settings object
    for a given endpoint address with a valid class, subclass, and protocol.
    """
    def factory(address):
        mock_endpoint.getAddress.return_value = address
        mock_interface_settings_match.iterEndpoints.return_value = [mock_endpoint]
        return mock_interface_settings_match

    return factory