# Path: lantern/score.py
# def score(text, *score_functions):
#     """Score ``text`` using ``score_functions``.
# 
#     Examples:
#         >>> score("abc", function_a)
#         >>> score("abc", function_a, function_b)
# 
#     Args:
#         text (str): The text to score
#         *score_functions (variable length argument list): functions to score with
# 
#     Returns:
#         Arithmetic mean of scores
# 
#     Raises:
#         ValueError: If score_functions is empty
#     """
#     if not score_functions:
#         raise ValueError("score_functions must not be empty")
# 
#     return statistics.mean(func(text) for func in score_functions)


import pytest
from lantern import score
"""Test the scoring algorithm"""




def test_score_with_single_function():
    """Single function accepted instead of iterable"""
    assert score("example", lambda _: 15) == 15


def test_score_is_averaged_positive():
    """Score is averaged over number of functions used"""

# Path: lantern/score.py
# def score(text, *score_functions):
#     """Score ``text`` using ``score_functions``.
# 
#     Examples:
#         >>> score("abc", function_a)
#         >>> score("abc", function_a, function_b)
# 
#     Args:
#         text (str): The text to score
#         *score_functions (variable length argument list): functions to score with
# 
#     Returns:
#         Arithmetic mean of scores
# 
#     Raises:
#         ValueError: If score_functions is empty
#     """
#     if not score_functions:
#         raise ValueError("score_functions must not be empty")
# 
#     return statistics.mean(func(text) for func in score_functions)


# Path: tests/test_score.py
import pytest
from lantern import score

"""Test the scoring algorithm"""




def test_score_with_single_function():
    """Single function accepted instead of iterable"""
    assert score("example", lambda _: 15) == 15


def test_score_is_averaged_positive():
    """Score is averaged over number of functions used"""

    assert score("example", lambda _: 10, lambda _: 20) == 15